2: Application Layer1 ECE5650 FTP, Email, DNS, and P2P.

Slides:



Advertisements
Similar presentations
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Advertisements

1 Electronic Mail u Three major components: u user agents u mail servers u simple mail transfer protocol: SMTP u User Agent u a.k.a. “mail reader” u composing,
Layer Aplikasi Risanuri Hidayat. Applications and application-layer protocols Application: communicating, distributed processes –e.g., , Web, P2P.
Lecture 5 Chapter 2 Application Layer
School of Information Technologies Application Layer Protocols NETS3303/3603 Week 12.
Application architectures
CPSC 441: FTP & SMTP1 Application Layer: FTP & Instructor: Carey Williamson Office: ICT Class.
Chapter 2: Application layer  2.1 Web and HTTP  2.2 FTP 2-1 Lecture 5 Application Layer.
2: Application Layer1 Traceroute – roundtrip times from source to the given hop traceroute to ( ), 30 hops max, 38 byte packets.
Electronic Mail and SMTP
Ftp: File Transfer Protocol  ftp specification: RFC 959 ( file transfer FTP server FTP user interface FTP client local.
2: Application Layer1 Chapter 2: Application Layer Chapter goals: r conceptual + implementation aspects of network application protocols m client server.
Chapter 2: Application layer  2.1 Web, HTTP and HTML (We will continue…)  2.2 FTP  2.3 SMTP 9/22/2009 Lecture 7, MAT 279, Fall
School of Information Technologies Application Layer Protocols NETS3303/3603 Week 12.
Esimerkki: Sähköposti. Lappeenranta University of Technology / JP, PH, AH Electronic Mail Three major components: user agents mail servers simple mail.
Simple Mail Transfer Protocol
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Mail Server Fitri Setyorini. Content SMTP POP3 How mail server works IMAP.
1 Lecture #3 Electronic Mail Protocols HAIT Summer 2005 Shimrit Tzur-David.
Electronic Mail Three major components: SMTP user agents mail servers
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
FTP File Transfer Protocol. Introduction transfer file to/from remote host client/server model  client: side that initiates transfer (either to/from.
2: Application Layer1 Chapter 2 Application Layer These slides derived from Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross.
SMTP, POP3, IMAP.
1 Application Layer Lecture 5 Imran Ahmed University of Management & Technology.
Trying out HTTP (client side) for yourself
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Lecture51 Administrative Things r Grader: Yona Raekow Office hours: Wed. 1pm-3pm or Th. 11am-1pm r Homeworks.
CSE401N: Computer Networks Lecture-5 Electronic Mail S. M. Hasibul Haque Lecturer Dept. of CSE, BUET.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Communications and Networks Lecture 5 Instructor: Rina Zviel-Girshin.
Intro to Computer Networks Bob Bradley The University of Tennessee at Martin.
Review: –How do we address “a network end-point”? –What services are provided by the Internet? –What is the network logical topology observed by a network.
Application Layer Protocols Simple Mail Transfer Protocol.
1 Computer Communication & Networks Lecture 27 Application Layer: Electronic mail and FTP Waleed.
Lecturer: Maxim Podlesny Sep CSE 473 File Transfer and Electronic in Internet.
DNS,SMTP,MIME.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 7 The Application Layer.
2: Application Layer1 Chapter 2: Application Layer Chapter goals: r conceptual + implementation aspects of network application protocols m client server.
2: Application Layer1 Reminder r Homework 1 for Wednesday: m Problems #3-5,11,16,18-20 m Half of the problems will be graded r Feel free to send me .
Sending and Receiving Mails
FTP (File Transfer Protocol) & Telnet
Simple Mail Transfer Protocol (SMTP)
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_c Application Protocols: HTTP, FTP, SMTP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part.
File Transfer Protocol (FTP)
Application Layer1 Electronic Mail. Application Layer2 Electronic Mail Three major components: r user agents r mail servers r simple mail transfer protocol:
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
TFTP: Trivial file transfer protocol
CSE 524: Lecture 6 Application layer protocols. Where we’re at… ● Internet architecture and history ● Internet protocols in practice ● Application layer.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
Slides based on Carey Williamson’s: FTP & SMTP1 File Transfer Protocol (FTP) r FTP client contacts FTP server at port 21, specifying TCP as transport protocol.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
World Wide Web r Most Web pages consist of: m base HTML page, and m several referenced objects addressed by a URL r URL has two components: host name and.
COMP 431 Internet Services & Protocols
26.1 Electronic Mail Sending/Receiving Mail Addresses User Agent MIME Mail Transfer Agent Mail Access Protocols.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
Dr. Adil Yousif University of Alneelian – Master of CS - IT Electronic Mail.
Spring 2006 CPE : Application Layer_ 1 Special Topics in Computer Engineering Application layer: Some of these Slides are Based on Slides.
درس مهندسی اینترنت – مهدی عمادی مهندسی اینترنت برنامه‌نویسی در اینترنت 1 SMTP, FTP.
Application layer 1 Principles of network applications 2 Web and HTTP
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
CS4470 Computer Networking Protocols
SMTP, POP3, IMAP.
Chapter 2: Application layer
Internet and Intranet Protocols and Applications
The Application Layer: SMTP, FTP
Chapter 2 Application Layer
Chapter 2: Application Layer
Part II Application Layer.
Presentation transcript:

2: Application Layer1 ECE5650 FTP, , DNS, and P2P

2: Application Layer2 Recap: HTTP and Web r HTTP request msg format and method types:  GET, POST, HEAD, PUT, DELATE r HTTP response msg format and status codes r Cookies and their usage:  Persistent vs Non-Persistent cookies r Web cache or proxy server:  Conditional GET ( If-modified-since: ) in HTTP header

2: Application Layer3 Examples ofInternet Services r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP, POP3, IMAP r 2.5 DNS r 2.6 P2P file sharing r 2.7 Socket programming with TCP r 2.8 Socket programming with UDP r 2.9 Building a Web server

2: Application Layer4 FTP: the file transfer protocol r transfer file to/from remote host r client/server model  client: side that initiates transfer (either to/from remote)  server: remote host r ftp: RFC 959 r ftp server: port 21 for control, port 20 for data file transfer FTP server FTP user interface FTP client local file system remote file system user at host

2: Application Layer5 SFTP: secure file transfer protocol r All communication (login, control and data are secured) r transfer file to/from remote host r same as FTP client/server model r network protocol designed by the IETF to provide secure file transfer and manipulation facilities over the secure shell (SSH) protocol. file transfer over SSH SFTP server SFTP user interface SFTP client local file system remote file system user at host

2: Application Layer6 FTP: separate control, data connections r FTP client contacts FTP server at port 21, specifying TCP as transport protocol r Client obtains authorization over control connection r Client browses remote directory by sending commands over the persistent control connection. r When server receives a command for a file transfer or directory listing, the server opens a TCP data connection to client r After transferring one file, server closes connection. FTP client FTP server TCP control connection port 21 TCP data connection port 20 r Server opens a second TCP data connection to transfer another file. r Control connection: “out of band”  HTTP sends control info in-band r FTP server maintains “state”: current directory, earlier authentication

2: Application Layer7 FTP commands, responses Sample commands: r sent as ASCII text over control channel  USER username  PASS password  LIST return list of file in current directory  RETR (Get) filename retrieves (gets) file  STOR (Put) filename stores (puts) file onto remote host Sample return codes r status code and phrase (as in HTTP) r 331 Username OK, password required r 125 data connection already open; transfer starting r 425 Can’t open data connection r 452 Error writing file

2: Application Layer8 All FTP commands (RFC 959) r Access control commands:  USER, PASS, ACT, CWD, CDUP, SMNT, REIN, QUIT. r Transfer parameter commands:  PORT, PASV, TYPE STRU, MODE. r Service commands:  RETR, STOR, STOU, APPE, ALLO, REST, RNFR, RNTO, ABOR, DELE, RMD, MRD, PWD, LIST, NLST, SITE, SYST, STAT, HELP, NOOP. r

2: Application Layer9 FTP Summary r FTP/SFTP is used to transfer files between hosts r FTP is an out-of-band protocol: control is sent over server port 21 while data is sent over server port 20. r Control connection is persistent and the FTP server must maintain the state of the user. r Data connection is non-persistent and initiated by FTP server.

2: Application Layer10 Electronic Mail Three major components: r user agents r mail servers r simple mail transfer protocol: SMTP User Agent r a.k.a. “mail reader” r composing, editing, reading mail messages r e.g., Eudora, Outlook, elm, Netscape Messenger r outgoing, incoming messages stored on server user mailbox outgoing message queue mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP

2: Application Layer11 Electronic Mail: mail servers Mail Servers r mailbox contains incoming messages for user r message queue of outgoing (to be sent) mail messages r SMTP protocol between mail servers to send messages  client: sending mail server  “server”: receiving mail server mail server user agent user agent user agent mail server user agent user agent mail server user agent SMTP

2: Application Layer12 Electronic Mail: SMTP [RFC 2821] r uses TCP to reliably transfer message from client to server, port 25 r direct transfer: sending server to receiving server r three phases of transfer  handshaking (greeting)  transfer of messages  closure r command/response interaction  commands: ASCII text  response: status code and phrase r messages must be in 7-bit ASCII

2: Application Layer13 Scenario: Alice sends message to Bob 1) Alice uses UA to compose message and “to” 2) Alice’s UA sends message to her mail server; message placed in message queue 3) Client side of SMTP opens TCP connection with Bob’s mail server 4) SMTP client sends Alice’s message over the TCP connection 5) Bob’s mail server places the message in Bob’s mailbox 6) Bob invokes his user agent to read message user agent mail server mail server user agent

2: Application Layer14 Sample SMTP interaction C: telnet smtp.wayne.edu 25 S: 220 mirapointmr3.wayne.edu C: HELO alice S: 250 Hello alice, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 wayne.edu closing connection

2: Application Layer15 Try SMTP interaction for yourself:  telnet ece.eng.wayne.edu 25 r see 220 reply from server r enter HELO, MAIL FROM, RCPT TO, DATA, QUIT commands above lets you send without using client (reader)

2: Application Layer16 SMTP Mail message format SMTP: protocol for exchanging msgs RFC 822: standard for text message format: r header lines, e.g.,  To:  From:  Subject: different from SMTP commands. SMTP msg goes into the DATA command r body  the “message”, 7-bit ASCII characters only header body blank line

2: Application Layer17 Message format: multimedia extensions r MIME: multimedia mail extension, RFC 2045, 2056 r additional lines in msg header declare MIME content type From: To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data multimedia data type, subtype, parameter declaration method used to encode data, quoted- printable is another method MIME version encoded data where each line is 78 7-bit ASCII characters including CRLF

2: Application Layer18 Base64 encoding scheme (RFC 2045) r Encoding (not encrypting) method r input: 8 bit ASCII data r output: one of the 64 values listed in the Base64 encoding table and the “=“ character r Process:  group the input data in chunks of 3-bytes or 24-bits each  break each 24-bit chunk into 4 values that are 6-bits each  use the Base64 encoding table to find the character of each value  if any chunk is less than 3 bytes then pad it with 0s and use the “=“ for any of these 6 0s. A 6-bit value with all 0s and at least 1 non-padded 0 will be an “A”  Smallest base64 encoded output is 4 characters. Example: input is AB A ASCII hex=0x41 B ASCII hex=0x42 16-bits + 8 padded 0s: values that are 6-bits each: padded 0s Base64 output is QUI=

2: Application Layer19 Mail access protocols r SMTP: delivery/storage to receiver’s server r Mail access protocol: retrieval from server  POP3: Post Office Protocol version 3 [RFC 1939] uses port 110 authorization (agent server) and download  IMAP: Internet Mail Access Protocol [RFC 1730] more features (more complex) manipulation of stored msgs on server  HTTP: Hotmail, Yahoo! Mail, etc. user agent sender’s mail server user agent SMTP access protocol receiver’s mail server

2: Application Layer20 POP3 protocol authorization phase r client commands:  user: declare username  pass: password r server responses  +OK (Server accepted prior command)  -ERR (server rejected prior command) transaction phase, client:  list: list message numbers  retr: retrieve message by number  dele: delete r quit r UIDL: “unique-ID listing” list unique message ID for all of the messages present in the users mailbox. Useful for download- and-keep by keeping a file that lists the messages retrieved in earlier sessions, the client can use the UIDL command to determine which messages on the server have already been seen. r “Received:” in the msg indicates the SMTP servers that forwarded the msg C: list S: S: S:. C: retr 1 S: Return-Path: S: Received: from b1 by d1... S: more data.. S:. C: dele 1 C: retr 2 S: S:. C: dele 2 C: quit S: +OK POP3 server signing off C: telnet mail.wayne.edu 110 S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on

2: Application Layer21 POP3 (more) and IMAP More about POP3 r Previous example uses “download-and-delete” mode. r User cannot re-read the deleted . r “Download-and-keep”: copies of messages on different clients r POP3 is stateless across sessions IMAP r Keep all messages in one place: the server r Allows user to organize messages in folders r IMAP keeps user state across sessions:  names of folders and mappings between message IDs and folder name

2: Application Layer22 Summary r SMTP and POP3 uses persistent connections r SMTP requires message (header & body) to be in 7- bit ASCII  SMTP server uses CRLF.CRLF to determine end of message r download-and-delete vs download-and-keep in POP3 r All data communications are insecure by default Comparison with HTTP: r HTTP: pull data from web server r SMTP: push data to mail server r both have command/response interaction, status codes r HTTP: each object encapsulated in its own response msg r SMTP: multiple objects sent in one multipart msg r SMPT msg must be in 7-bit ASCII while HTTP has no restriction

2: Application Layer23 Examples ofInternet Services r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP, POP3, IMAP r 2.5 DNS r 2.6 P2P file sharing r 2.7 Socket programming with TCP r 2.8 Socket programming with UDP r 2.9 Building a Web server