Ftp: the File Transfer Protocol Ftp Commands, Responses Electronic Mail

Ftp: the File Transfer Protocol Ftp Commands, Responses Electronic Mail

<p>ftp: separate control, data connections </p><p>ftp: the file transfer protocol </p><p>❒ ftp client contacts ftp server </p><p>file transfer </p><p>FTP user </p><p>at port 21, specifying TCP as </p><p></p><ul style="display: flex;"><li style="flex:1">FTP </li><li style="flex:1">FTP </li></ul><p></p><ul style="display: flex;"><li style="flex:1">server </li><li style="flex:1">client </li></ul><p></p><p>transport protocol </p><p>interface </p><p>TCP control connection </p><p>user at host </p><p>❒ two parallel TCP connections </p><p>port 21 </p><p>remote file system local file system </p><p>opened: </p><p>❍ control: exchange </p><p>commands, responses between client, server. </p><p>TCP data connection port 20 </p><p>FTP client <br>FTP server <br>❒ transfer file to/from remote host ❒ client/server model </p><p>“out of band control” </p><p>❍ client: side that initiates transfer (either to/from <br>❍ data: file data to/from remote) server <br>❍ server: remote host </p><p>❒ ftp: RFC 959 ❒ ftp server: port 21 <br>❒ ftp server maintains “state”: current directory, earlier authentication </p><p>2: Application Layer </p><p>27 </p><p>2: Application Layer </p><p>28 </p><p>outgoing </p><p></p><ul style="display: flex;"><li style="flex:1">ftp commands, responses </li><li style="flex:1">Electronic Mail </li></ul><p></p><p>message queue user mailbox user </p><p></p><ul style="display: flex;"><li style="flex:1">Sample commands: </li><li style="flex:1">Sample return codes </li><li style="flex:1">Three major components: </li></ul><p></p><p>❒ user agents ❒ mail servers </p><p>agent </p><p></p><ul style="display: flex;"><li style="flex:1">❒ sent as ASCII text over </li><li style="flex:1">❒ status code and phrase (as </li></ul><p></p><p>mail user server </p><p>control channel </p><p>❒ <strong>USER username </strong></p><p>in http) </p><p>❒ <strong>331 Username OK, </strong></p><p>agent </p><p>❒ simple mail transfer </p><p>SMTP </p><p>mail server </p><p><strong>password required </strong></p><p>❒ <strong>PASS password </strong></p><p>protocol: smtp </p><p>user agent </p><p>❒ <strong>125 data connection already open; </strong></p><p>SMTP </p><p>❒ <strong>LIST </strong>return list of file in </p><p>User Agent </p><p>❒ a.k.a. “mail reader” current directory </p><p><strong>transfer starting </strong></p><p>SMTP </p><p>user agent </p><p>❒ <strong>RETR filename&nbsp;</strong>retrieves </p><p>mail server </p><p>❒ <strong>425 Can’t open data </strong></p><p>❒ composing, editing, reading <br>(gets) file </p><p><strong>connection </strong></p><p>mail messages </p><p>❒ <strong>STOR filename&nbsp;</strong>stores </p><p>(puts) file onto remote host </p><p>❒ <strong>452 Error writing </strong></p><p>❒ e.g., Eudora, Outlook, elm, </p><p>user agent </p><p><strong>file </strong></p><p>Netscape Messenger </p><p>user agent </p><p>❒ outgoing, incoming messages stored on server </p><p>2: Application Layer </p><p>29 </p><p>2: Application Layer </p><p>30 </p><p></p><ul style="display: flex;"><li style="flex:1">Electronic Mail: mail servers </li><li style="flex:1">Electronic Mail: smtp [RFC 821] </li></ul><p></p><p>user </p><p>❒ uses tcp to reliably transfer email msg from client to </p><p>Mail Servers </p><p>❒ mailbox contains incoming messages (yet to be read) for user </p><p>agent </p><p>server, port 25 </p><p>mail user </p><p>❒ direct transfer: sending server to receiving server ❒ three phases of transfer <br>❍ handshaking (greeting) ❍ transfer of messages ❍ closure <br>❒ command/response interaction <br>❍ commands: ASCII text </p><p>server agent </p><p>SMTP SMTP </p><p>mail server </p><p>❒ message queue of outgoing </p><p>user agent </p><p>(to be sent) mail messages </p><p>SMTP </p><p>❒ smtp protocol between mail </p><p>servers to send email messages </p><p>user agent mail server </p><p>❍ client: sending mail <br>❍ response: status code and phrase server </p><p>user agent </p><p>❒ messages must be in 7-bit ASCII </p><p>❍ “server”: receiving mail server </p><p>user agent </p><p>2: Application Layer </p><p>31 </p><p>2: Application Layer </p><p>32 </p><p>try smtp interaction for yourself: </p><p>Sample smtp interaction </p><p><strong>S: 220 hamburger.edu C: HELO crepes.fr </strong></p><p>❒ <strong>telnet servername 25 </strong></p><p>❒ see 220 reply from server ❒ enter HELO, MAIL FROM, RCPT TO, DATA, QUIT commands </p><p><strong>S: 250&nbsp;Hello crepes.fr, pleased to meet you C: MAIL FROM: &lt;[email protected]&gt; S: 250 [email protected]... Sender ok C: RCPT TO: &lt;[email protected]&gt; S: 250 [email protected] ... Recipient ok C: DATA </strong></p><p>above lets you send email without using email client </p><p><strong>S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? </strong></p><p>(reader) </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>C: </strong></li><li style="flex:1"><strong>How about pickles? </strong></li></ul><p><strong>C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection </strong></p><p>2: Application Layer </p><p>33 </p><p>2: Application Layer </p><p>34 </p><p>Mail message format </p><p>smtp: final words </p><p></p><ul style="display: flex;"><li style="flex:1">❒ smtp uses persistent </li><li style="flex:1">smtp: protocol for exchanging </li></ul><p>email msgs </p><p>Comparison with http </p><p>❒ http: pull ❒ email: push connections </p><p>header body </p><p>blank line <br>❒ smtp requires that message (header &amp; body) be in 7-bit ascii <br>RFC 822: standard for text message format: <br>❒ header lines, e.g., </p><p>❍ To: </p><p>❒ both have ASCII command/response <br>❒ certain character strings are not permitted in message (e.g., CRLF.CRLF). Thus message has to be encoded (usually into either base-64 or quoted interaction, status codes </p><p>❍ From: ❍ Subject: </p><p>❒ http: each object is encapsulated in its own response message <br>❒ smtp: multiple objects of message sent in a multipart message </p><p>different from smtp </p><p>commands! </p><p>❒ body printable) </p><p>❍ the “message”, ASCII </p><p>❒ smtp server uses <br>CRLF.CRLF to determine end of message </p><p>characters only </p><p>2: Application Layer </p><p>35 </p><p>2: Application Layer </p><p>36 </p><p>MIME types <br>Message format: multimedia extensions </p><p><strong>Content-Type: type/subtype; parameters </strong></p><p>❒ MIME: multimedia mail extension, RFC 2045, 2056 </p><p></p><ul style="display: flex;"><li style="flex:1">Text </li><li style="flex:1">Video </li></ul><p></p><p>❒ additional lines in msg header declare MIME content </p><p></p><ul style="display: flex;"><li style="flex:1">❒ example subtypes: <strong>plain, </strong></li><li style="flex:1">❒ example subtypes: <strong>mpeg, </strong></li></ul><p></p><p>type </p><p></p><ul style="display: flex;"><li style="flex:1"><strong>html </strong></li><li style="flex:1"><strong>quicktime </strong></li></ul><p></p><p><strong>From: [email protected] To: [email protected] </strong></p><p>MIME version </p><p>Image <br>Application </p><p>❒ other data that must be processed by reader before “viewable” </p><p><strong>Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg </strong></p><p>❒ example subtypes: <strong>jpeg, </strong></p><p>method used to encode data </p><p><strong>gif </strong></p><p>multimedia data type, subtype, <br>❒ example subtypes: </p><p>Audio </p><p><strong>base64 encoded data ..... ......................... ......base64 encoded data </strong></p><p><strong>msword, octet-stream </strong></p><p>parameter declaration </p><p>❒ exampe subtypes: <strong>basic </strong></p><p>(8-bit mu-law encoded), </p><p><strong>32kadpcm (32 kbps </strong></p><p><strong>coding) </strong></p><p>encoded data </p><p>2: Application Layer </p><p>37 </p><p>2: Application Layer </p><p>38 </p><p>Multipart Type </p><p><strong>From: [email protected] </strong></p><p>Mail access protocols </p><p><strong>To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 </strong></p><p></p><ul style="display: flex;"><li style="flex:1">SMTP </li><li style="flex:1">SMTP </li></ul><p>POP3 or </p><p>IMAP </p><p><strong>Content-Type: multipart/mixed; boundary=98766789 </strong></p><p>user agent user agent </p><p><strong>--98766789 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain </strong></p><p>receiver’s mail server sender’s mail server </p><p><strong>Dear Bob, </strong></p><p>❒ SMTP: delivery/storage to receiver’s server ❒ Mail access protocol: retrieval from server <br>❍ POP: Post Office Protocol [RFC 1939] </p><p><strong>Please find a picture of a crepe. --98766789 Content-Transfer-Encoding: base64 Content-Type: image/jpeg </strong></p><p>• authorization&nbsp;(agent &lt;--&gt;server) and download <br>❍ IMAP: Internet Mail Access Protocol [RFC 1730] <br>• more&nbsp;features (more complex) • manipulation&nbsp;of stored msgs on server <br>❍ HTTP: Hotmail , Yahoo! Mail, etc. </p><p><strong>base64 encoded data ..... ......................... ......base64 encoded data --98766789-- </strong></p><p>2: Application Layer </p><p>39 </p><p>2: Application Layer </p><p>40 </p><p>POP3 protocol </p><p><strong>S: +OK POP3 server ready C: user alice S: +OK C: pass hungry </strong></p><p><strong>S: +OK user successfully logged on </strong></p><p>authorization phase </p><p>❒ client commands: </p><p>❍ <strong>user: </strong>declare username ❍ <strong>pass: </strong>password </p><p>❒ server responses </p><p>❍ <strong>+OK </strong></p><p><strong>C: list S: 1 498 S: 2 912 S: . C: retr 1 S: &lt;message 1 contents&gt; S: . C: dele 1 C: retr 2 </strong></p><p>❍ <strong>-ERR </strong></p><p>transaction phase, client: </p><p>❒ <strong>list: </strong>list message numbers </p><p><strong>S: &lt;message 1 contents&gt; S: . C: dele 2 </strong></p><p>❒ <strong>retr: </strong>retrieve message by </p><p>number </p><p>❒ <strong>dele: </strong>delete </p><p><strong>C: quit </strong></p><p>❒ <strong>quit </strong></p><p><strong>S: +OK POP3 server signing off </strong></p><p>2: Application Layer </p><p>41 </p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us