1 / 68

Lecture 12 Overview

Lecture 12 Overview. TELNET. TELNET is a protocol that provides general, bi-directional, eight-bit byte oriented communications Over TCP connection data and control over the same connection Many application protocols are built upon the TELNET protocol

zion
Download Presentation

Lecture 12 Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 12 Overview

  2. TELNET • TELNET is a protocol that provides • general, • bi-directional, • eight-bit byte oriented communications • Over TCP connection • data and control over the same connection • Many application protocols are built upon the TELNET protocol • Used to test HTTP, FTP, SMTP, POP3, IRC, etc. CPE 401/601 Lecture 12 : TELNET protocol

  3. Network Virtual Terminal • intermediate representation of a generic terminal • provides a standard language for communication of terminal control functions Server Process NVT NVT TCP TCP CPE 401/601 Lecture 12 : TELNET protocol

  4. Control Functions • TELNET includes support for a series of control functions commonly supported by servers • This provides a uniform mechanism for communication of (the supported) control functions CPE 401/601 Lecture 12 : TELNET protocol

  5. Command Structure • Commands start with a special character called the Interpret as Command escape character • The IAC code is 255 • If a 255 is sent as data, it must be followed by another 255 • If IAC is found and the next byte is IAC • a single byte is presented to application/terminal • If IAC is followed by any other code • the TELNET layer interprets this as a command CPE 401/601 Lecture 12 : TELNET protocol

  6. Internet A Typical Mail Environment Interactive Mail Access Protocol SMTP IMAP Mail Server Mail Server Mail Client IMAP store POP Store SMTP POP SMTP Mail Client CPE 401/601 Lecture 12 : E-mail protocols

  7. Terminology • User Agent • end-user mail program • Message Transfer Agent • responsible for communicating with remote hosts and transmitting/receiving email • both a client and server • Mail Exchanger • host that takes care of email for a domain CPE 401/601 Lecture 12 : E-mail protocols

  8. SMTP • Used to exchange mail messages between mail servers (Message Transfer Agents) MTA MTA MTA SMTP SMTP File System UA UA CPE 401/601 Lecture 12 : E-mail protocols - SMTP

  9. SMTP Protocol • SMTP sender is the client • SMTP receiver is the server • Alternating dialogue: • client sends command and server responds with command status message • Order of the commands is important! • Status messages include • ASCII encoded numeric status code (like HTTP,FTP) and • text string CPE 401/601 Lecture 12 : E-mail protocols - SMTP

  10. Data Format • ASCII only • must convert binary to an ASCII representation to send via email • What if we want to send a line containing only a period? • Sender prepends a period to any line staring with a period (in the message) • Receiver strips the leading period in any line that starts with a period and has more stuff CPE 401/601 Lecture 12 : E-mail protocols - SMTP

  11. Message Progress TCP Connection Establishment TCP Connection Termination CPE 401/601 Lecture 12 : E-mail protocols - SMTP

  12. 354 Reply Codes • Contain a Lot of Information • Only the reply codes count • Other information in a reply is purely for humans The first digit indicates success, failure, or incomplete The third digit is the specific message for that category The second digit is the category of error message CPE 401/601 Lecture 12 : E-mail protocols - SMTP

  13. SMTP Extensions (EHLO) • A mailer supporting extensions uses EHLO instead of HELO in the greeting $ telnet mail.unr.edu 25 Trying 134.197.1.112... 220 smtp.unr.edu ESMTP Postfix EHLO 250-smtp.unr.edu 250-PIPELINING 250-SIZE 30720000 250-VRFY 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DNS A mailer that supports extensions responds with a list of which ones it can do CPE 401/601 Lecture 12 : E-mail protocols - SMTP

  14. Mail Headers • Email messages contain many headers • some headers are created by the UA • some are automatically added by the MTA • Every MTA adds (at least) a “Received:” header • Some of the headers are parsed by intermediate MTAs • but the message content is ignored and passed on transparently CPE 401/601 Lecture 12 : E-mail protocols - SMTP

  15. Multipurpose Internet Mail Extensions • Defines extensions to support binary attachments of arbitrary format • Images, Audio, Video and multi-media messages • Text having unlimited line length or overall length • Multiple objects in a single message • Character sets other than ASCII • Multi-font messages • Requires more capable UAs to interpret messages CPE 401/601 Lecture 12 : E-mail protocols - MIME

  16. A sample MIME message From: trumbo@Opus1.COM (Jan Trumbo) Subject: small message with Word attachment To: trumbo@Opus1.COM MIME-version: 1.0 Content-type: MULTIPART/MIXED; BOUNDARY="Boundary_[ID_nf99lkyavAuSoClF/HeK0Q]" --Boundary_[ID_nf99lkyavAuSoClF/HeK0Q] Content-type: text/plain; charset=us-ascii Joel, attached is a Word document. - Jan --Boundary_[ID_nf99lkyavAuSoClF/HeK0Q] Date: Thu, 19 Sep 1996 16:49:52 -0700 Content-type: application/mac-binhex40; name=tiny_text_Word_doc.doc Content-disposition: attachment; filename=tiny_text_Word_doc.doc <Word document and more stuff below here> This identical boundary marker separates the parts of the mail message CPE 401/601 Lecture 12 : E-mail protocols - MIME

  17. Pulling Emails • Offline (POP3 model) • Client connects to server and pulls all email down to client • Everything is stored on the client • Online (Original IMAP model) • Client connects to server for every transaction • Everything is stored on the server • Disconnected (Later IMAP model) • Client and server share storage burden • Server is always authoritative and client must synchronize to server CPE 401/601 Lecture 12 : E-mail protocols

  18. POP – Post Office Protocol • Used to transfer mail from a mail server to a User Agent Mail Server POP UA File System CPE 401/601 Lecture 12 : E-mail protocols - POP3

  19. POP (version 3) • Similar to SMTP command/reply lockstep • Minimizes server resources • Used to retrieve mail for a single user • requires authentication • Commands and replies are ASCII lines • Replies start with “+OK” or “-ERR” • Replies may contain multiple lines • POP has no security • Except when used with SSL, TLS CPE 401/601 Lecture 12 : E-mail protocols - POP3

  20. A POP3 Exchange > telnet monte pop3 Trying 128.213.8.110... Connected to monte.cs.rpi.edu (128.213.8.110). Escape character is '^]'. +OK POP3 monte.cs.rpi.edu v7.59 server ready user joe +OK User name accepted, password please pass joepw +OK Mailbox open, 1 messages stat +OK 1 412 list +OK Mailbox scan listing follows 1 412 . CPE 401/601 Lecture 12 : E-mail protocols - POP3

  21. POP3 Example Continued retr 1 +OK 412 octets Return-Path: <hollingd> Received: (from hollingd@localhost) by monte.cs.rpi.edu (8.9.3/8.9.3) id NAA06943 for joe; Mon, 20 Mar 2000 13:49:54 -0500 Date: Mon, 20 Mar 2000 13:49:54 -0500 From: Dave Hollinger <hollingd@monte.cs.rpi.edu> Message-Id: <200003201849.NAA06943@monte.cs.rpi.edu> To: joe@monte.cs.rpi.edu Status: O blah . CPE 401/601 Lecture 12 : E-mail protocols - POP3

  22. Internet Message Access Protocol • On-line, off-line, or disconnected mode operation • Server-side Mailbox Manipulation • Multiple mailbox support • Control of all folders everywhere • Online performance optimization • User can check email header or search a string before downloading • Real authentication CPE 401/601 Lecture 12 : E-mail protocols - IMAP

  23. Internet Internet POP vs. IMAP POP3: All Messages Whole message IMAP: Dr.Amer Friends …. headers CPE 401/601 Lecture 12 : E-mail protocols

  24. WebMail • Web-base email access • User agent -> web browser • User agent-mail server communication based on HTTP • HTTP to send messages from user to the mail server of the user • HTTP to get mail from the mail server of the destination CPE 401/601 Lecture 12 : E-mail protocols - WebMail

  25. Lecture 13File Transfer Protocols CPE 401 / 601 Computer Network Systems slides are modified from Dave Hollinger slides are modified from Dave Hollinger and Michael

  26. File Transfer Protocols • File Transfer Protocol (RFC 959) • Why FTP? • FTP’s connections • FTP in action • FTP commands/responses • Trivial File Transfer Protocol (RFC 1350) • TFTP and TFTP’s message formats • FTP and TFTP compared CPE 401/601 Lecture 13 : File Transfer Protocols

  27. Why do we need a FTP Service? • Purpose: To Transfer files between two computers • Goals of FTP Service • Promote sharing of files (programs and/or data) • Encourage indirect/implicit use of remote computers • Shield users from variations in file storage among hosts • Transfer data reliably and efficiently CPE 401/601 Lecture 13 : File Transfer Protocols

  28. Problems of File Transfer • At first, file transfer may seem simple • Heterogeneous systems use different: • Operating Systems • Character Sets • Naming Conventions • Directory Structures • File Structures and Formats • FTP need to address and resolve these problems CPE 401/601 Lecture 13 : File Transfer Protocols

  29. File Transfer Protocol • Exchange and manipulate files over TCP • Separate control and data connections between the client and server applications • RFC 959 includes information and details • parameters for commands • lists of reply status codes • protocol state diagrams • support for a variety of file structures • sample sessions CPE 401/601 Lecture 13 : FTP

  30. The FTP Model PI: Protocol Interpreter DTP: Data Transfer Protocol User Interface User Control Server PI User PI Data File System File System Server DTP User DTP CPE 401/601 Lecture 13 : FTP

  31. Control and Data Connections • Control functions (commands) and reply codes are transferred over the control connection. • All data transfer takes place over the data connection. • The control connection must be “up” while data transfer takes place. CPE 401/601 Lecture 13 : FTP

  32. Control Connection • The control connection is the “well known” service. • The control connection uses the TELNET protocol. • Commands and replies are all line oriented text (default is ASCII). CPE 401/601 Lecture 13 : FTP

  33. * Persistent command and reply connection Non-persistent data connection Server is listening on port 21 for connection requests * Insulates users from “raw” FTP commands *Server uses port 20 for data connections * Routes “raw” FTP commands * Receives server’s replies FTP’s Connections client User Interface server User Protocol Interpreter Server Protocol Interpreter Control Connection 21 User Data Transfer Function Data Connection Server Data Transfer Function 20 CPE 401/601 Lecture 13 : FTP

  34. FTP - Connection Establishment ftp> open cse.unr.edu Connected to cse.unr.edu 220 cse FTP server ready. 530 Please login with USER and PASS client 331 Password req for mgunes. Password: User Interface 230 User mgunes logged in. ftp> USER mgunes PASS mypass server User Protocol Interpreter Server Protocol Interpreter Control Connection User Data Transfer Function Server Data Transfer Function Data Connection CPE 401/601 Lecture 13 : FTP

  35. FTP - Data Transfer client ls client.txt -rw-r--r-- mgunes client.txt User Interface 226 Closing Data Connection PORT 192,168,100,173,19,137 200 Port Command Sucessful LIST client.txt 150 Data Connection will be open shortly server User Protocol Interpreter User Protocol Interpreter Server Protocol Interpreter Server Protocol Interpreter Control Connection Passive open on Port 5001 User Data Transfer Function Server Data Transfer Function Data Connection CPE 401/601 Lecture 13 : FTP Establish Data Connection

  36. FTP - Connection Closing bye client User Interface 221 Service Closing QUIT server User Protocol Interpreter Server Protocol Interpreter Control Connection User Data Transfer Function Server Data Transfer Function Data Connection CPE 401/601 Lecture 13 : FTP

  37. FTP Connections CPE 401/601 Lecture 13 : FTP

  38. FTP Client Commands * Sent to server as multiple command by User Protocol Interpreter CPE 401/601 Lecture 13 : FTP

  39. Data Transfer Modes • STREAM: • file is transmitted as a stream of bytes • BLOCK: • file is transmitted as a series of blocks preceded by headers containing count and descriptor code • COMPRESSED: • uses a simple compression scheme on transmitted blocks CPE 401/601 Lecture 13 : FTP

  40. FTP Replies • All replies are sent over control connection. • Replies are a single line containing • 3 digit status code (sent as 3 numeric chars). • text message. • The FTP spec. includes support for multiline text replies. CPE 401/601 Lecture 13 : FTP

  41. FTP Reply Status Code • First digit of status code indicates type of reply: • ‘1’: Positive Preliminary Reply (got it, but wait). • ‘2’: Positive Completion Reply (success). • ‘3’: Positive Intermediate Reply (waiting for more information). • ‘4’: Transient Negative Completion (error - try again). • ‘5’: Permanent Negative Reply (error - can’t do). CPE 401/601 Lecture 13: FTP

  42. FTP Reply Status Code • 2nd digit indicates function groupings. • ‘0’: Syntax (problem with command syntax). • ‘1’: Information (reply to help or status cmds). • ‘2’: Connections (problem with a connection). • ‘3’: Authentication (problem with login). • ‘4’: Unspecified. • ‘5’: File system (related to file system). • 3rd digit indicates specific problem within function group. CPE 401/601 Lecture 13 : FTP

  43. Example FTP Responses • 120 Service will be ready shortly • 200 Command OK • 230 User login OK • 331 User name OK; password is needed • 421 Service not available • 530 User not logged in • 552 Requested action aborted; exceeded storage allocation CPE 401/601 Lecture 13 : FTP

  44. Trivial FTP

  45. Trivial FTP (TFTP) • Simple and small: • 5 message formats • Runs on UDP • Designed to fit in ROM • Uses a “stop and wait” protocol • NO BUILT IN SECURITY FEATURES (login) • Used only to read and write files from/to a server • Cannot list directories • Useful for bootstrapping diskless systems • Workstations • X terminals CPE 401/601 Lecture 13 : TFTP

  46. Diskless Workstation Booting 1 The call for help Help! I don't know who I am! My Ethernet address is: 4C:23:17:77:A6:03 Diskless Workstation RARP CPE 401/601 Lecture 13 : TFTP

  47. The answer from the all-knowing RARP Server I know all! You are to be know as: 128.113.45.211 Diskless Workstation RARP REPLY CPE 401/601 Lecture 13 : TFTP

  48. The request for instructions I need the file named boot-128.113.45.211 Diskless Workstation TFTP Request (Broadcast) CPE 401/601 Lecture 13 : TFTP

  49. The dialog TFTP Server here is part 1 I got part 1 here is part 2 Diskless Workstation boot file TFTP File Transfer CPE 401/601 Lecture 13 : TFTP

  50. TFTP Protocol • 5 message types: • Read request • Write request • Data • ACK (acknowledgment) • Error • Each is an independent UDP Datagram • Each has a 2 byte opcode (1st 2 bytes) • The structure of the rest of the datagram depends on the opcode CPE 401/601 Lecture 13 : TFTP

More Related