04 Smtp Other - Cornell University

Transcription

Electronic Mail4: Application Protocols:SMTP and othersLast Modified:2/3/2003 8:07:08 PM2: Application LayerElectronic Mail2: Application Layer1outgoingmessage queue2Electronic Mail: mail serversuser mailboxuseragentThree major components: user agents mail serversMail Serversmailserver simple mail transferSMTPprotocol: smtpSMTPUser Agent a.k.a. “mail reader” composing, editing, readingmailmail messagesserver e.g., Eudora, Outlook, elm,Netscape Messenger outgoing, incoming messagesuserstored on servermailserverSMTPmessages (yet to be read)for user message queue of outgoing(to be sent) mail messages(if message cannot bedelivered will stay in queue) smtp protocol between mailservers to send emailmessages Mail server is an SMTPclient when sending mail Mail server is an SMTPserver” when receivingmailuseragentuseragentuseragentagent2: Application Layeruseragent mailbox contains gentuseragentmailserverSMTPuseragentuseragent2: Application Layer3Electronic Mail: smtp [RFC 2821]SMTP History Uses tcp to reliably transfer email msg from SMTP has been around a long timeclient to server, port 25useragent4 RFC direct transfer: sending server to receivingserver three phases of transfer handshaking (greeting) transfer of messages closure command/response interaction commands: ASCII text response: status code and phrase Much like HTTP Indone in 1982use well before that Messages must be in 7-bit ASCII(made sense in text-based early days) Requires encoding for binary data(jpegs, etc.) in 7-bit ASCII (yuck!)2: Application Layer52: Application Layer61

try smtp interaction for yourself:Sample smtp interactionS:C:S:C:S:C:S:C:S:C:C:C:S:C:S:220 hamburger.eduHELO crepes.fr250 Hello crepes.fr, pleased to meet youMAIL FROM: alice@crepes.fr 250 alice@crepes.fr. Sender okRCPT TO: bob@hamburger.edu 250 bob@hamburger.edu . Recipient okDATA354 Enter mail, end with "." on a line by itselfDo you like ketchup?How about pickles?.250 Message accepted for deliveryQUIT221 hamburger.edu closing connection2: Application Layer telnet servername 25 see 220 reply from server enter HELO, MAIL FROM, RCPT TO, DATA, QUITcommandsabove lets you send email without using email client(reader) How do you know the right server name?Trace it – does your mail data go in theclear?2: Application Layer7What is missing?Mail message format Some commands processed by SMTP protocolsmtp: protocol for exchangingemail msgsRFC 2822: standard for textmessage format (format ofdata from smtpperspective) header lines, e.g.,mirror mail headers we are used to seeing in ouremail messages (To, From, ), but are not thesame things Email headers (To, From, CC, Subject, Date, .) areconsidered part of the data by SMTP and are notprocessed SMTP server at all! Email headers are processed by the mail readersoftware and ignored by SMTP SMTP DataMessage headersblanklineMessage bodydifferent from SMTPcommands!How is Bcc implemented? Another example of “protocol” layering (like HTML bodyand HTTP) 2: Application LayerTo:CC:Subject:8the “message”, ASCIIcharacters only2: Application Layer910SMTP formatSample smtp interactionS: 220 hamburger.eduC: HELO crepes.frS: 250 Hello crepes.fr, pleased to meet youC: MAIL FROM: alice@crepes.fr S: 250 alice@crepes.fr. Sender okC: RCPT TO: bob@hamburger.edu S: 250 bob@hamburger.edu . Recipient okC: DATAS: 354 Enter mail, end with "." on a line by itselfC: To: bob@hamburger.eduC: Subject: dinner preferencesC: From: alice@crepes.frC:C: Do you like ketchup?C:How about pickles?C: .S: 250 Message accepted for deliveryC: QUITS: 221 hamburger.edu closing connection2: Application Layer SMTP requires that message (header & body) bein 7-bit ascii Certain character strings are not permitted inmessage (e.g., CRLF.CRLF). Thus message has tobe encoded (usually into either base-64 orquoted printable) SMTP server uses CRLF.CRLF to determine endof message112: Application Layer122

What about sending pictures and otherbinary data?MIME types: ExtensibleContent-Type: type/subtype; parameters Don’t try this by hand Text MIME: multimedia mail extension, RFC 2045, 2056 example subtypes: plain, additional lines in msg header declare MIME contenthtmltypeMIME versionmethod usedto encode datamultimedia datatype, subtype,parameter declarationencoded dataFrom: alice@crepes.frTo: bob@hamburger.eduSubject: Picture of yummy crepe.MIME-Version: 1.0Content-Transfer-Encoding: base64Content-Type: image/jpeg example subtypes: jpeg,gifAudio example subtypes: basicbase64 encoded data .base64 encoded data2: Application LayerImage(8-bit mu-law encoded),32kadpcm (32 kbpscoding)Video example subtypes: mpeg,quicktimeApplication other data that must beprocessed by readerbefore “viewable” example subtypes:msword, octet-stream2: Application Layer13Multipart Type14Spam/forged mailFrom: alice@crepes.frTo: bob@hamburger.eduSubject: Picture of yummy crepe.MIME-Version: 1.0Content-Type: multipart/mixed; boundary 98766789 “Received:” and “MessageID” headers arepart of the data--98766789Content-Transfer-Encoding: quoted-printableContent-Type: text/plain Dear Bob,Please find a picture of a crepe.--98766789Content-Transfer-Encoding: base64Content-Type: image/jpegAccurate and helpful from legitimate serversand user agents Start with a legitimate server you trust Don’t relay messages from a site outside yourdomain to another host outside your domain Verify the Mail From field (resolvable domainand matching IP address) Refuse traffic from known spammersbase64 encoded data .base64 encoded data--98766789--2: Application Layer2: Application Layer15Sample SpamTracking and Reporting SpamFrom dogboyseven@aol.com Sat Sep 4 16:55:41 1999Received: from cs2.CS.Berkeley.EDU (cs2.CS.Berkeley.EDU [169.229.60.56])by mnemosyne.CS.Berkeley.EDU (8.9.1a/) with ESMTP id QAA20836 for jnm@mailspool.CS.Berkeley.EDU ;Sat, 4 Sep 1999 16:55:38 -0700 (PDT) Record IP address of sender and time and16date of message transferReceived: from mail.everfaster.com (mail.everfaster.com [197.46.220.4])by cs2.CS.Berkeley.EDU (8.9.1a/8.6.6.Beta11) with ESMTP id LAA18735 for jnm@cs.berkeley.edu ; Sat, 4Sep 1999 16:55:04 -0700 (PDT) Spamcop uses a combination of tools likedig, nslookup and finger to cross-check allthe information in an email header and findthe email address of the systemadministrator responsible for the networkfrom which the mail was sent postmaster@domain or abuse@domainReceived: from gate.hypermoon.com (pool37.qs4w.longlink.net [217.6.1.7])by mail.everfaster.com (8.8.7/8.8.7) with SMTP id PAA20074; Sat, 4 Sep 1999 19:54:21 -0400 (EDT)Received: from fritz.hotdogcity.com (fritz.hotdogcity.com [221.88.9.16])by server.big-hello.com (8.8.8/8.8.8) with SMTP id RAA04617; Sat, 4 Sep 1999 19:53:33 -0400 (EDT)Received: by fritz.hotdogcity.com with Internet Mail Service (5.5.248.0)id Q19G494F; Sat, 4 Sep 1999 19:53:25 -0400 (EDT) Date: Sat, 4 Sep 1999 19:53:23 -0400 (EDT)From: Charles Lewis clewis@hotmail.com To: jnm@cs.berkeley.eduSubject: You'll never believe this!Message-ID: 19990904195323.H8159@fritz.hotdogcity.com Mime-Version: 1.0Content-Type: text/plain; charset us-asciiYou won't believe this, but some company just paid me to surf the web! Check out.2: Application Layer172: Application Layer183

Multiple recipientsEmail viruses When you send mail to your outgoing mail Often attachments which once opened runserver, transfer one copy of messageregardless of how many recipients with the users full privileges and corruptthe system on which mail is read Viruses tend to target Windows as it is theplatform used by the majority of peopleGreat for spammers Mail servers could play the same trick Look at RCPT to list If more than one recipient per destination mailserver then transfer just one mail Could also send one copy per recipient Recommended configuration?2: Application Layer2: Application Layer19SMTP vs HTTP20Outgoing Mail Server? Why not just SMTP server on localmachine? Smtp: persistent connections like HTTP 1.1 “Push not pull” means your PC must be Both have ASCII command/responseconstantly on to accept “push”interaction, status codes http: each object is encapsulated in its ownresponse message smtp: multiple objects message sent in amultipart message http: pull; smtp: push2: Application Layer2: Application Layer21SMTP outgoing22Incoming mail? Notice we didn’t see any SMTP commandsuseragentto “get” or “retrieve” mail SMTP is for outgoing mail only How do we get mail?SMTPSMTPsender’s mailserveruseragentreceiver’s mailserver Mailbox fileEarly days: log on to server and read mail froma mailbox file on server How many people still read mail that way? (I do ) Today many people read mail on their PC How do they get their mail from the mailserver? 2: Application LayerPOP3 orIMAP 23POP: Post Office Protocol [RFC 1939] authorization (agent -- server) and downloadIMAP: Internet Mail Access Protocol [RFC 1730] morefeatures (more complex) manipulation of stored messageson serverHTTP: Hotmail , Yahoo! Mail, etc. Why not use HTTP to transfer random things like email? Convenient – don’t need mail reader just the ubiquitous webbrowser Other?2: Application Layer244

POP3 protocolauthorization phase client commands:user: declare username pass: password server responses OK -ERR transaction phase, client: list: list message numbers retr: retrieve message bynumber dele: delete Quittry POP interaction for yourself:S:C:S:C:S: OK POP3 server readyuser alice OKpass hungry OK user successfully loggedC:S:S:S:C:S:S:C:C:S:S:C:C:S:list1 4982 912.retr 1 message 1 contents .dele 1retr 2 message 1 contents .dele 2quit OK POP3 server signing off2: Application Layer telnet servername 110on25 see “OK POP3 server ready” reply from server enter user, pass, list, retr, dele commandsabove lets you send get you own email without usingemail client (reader)Trace it – do your password and mail data goin the clear?Do you configure your mail reader to pop mailevery X minutes? Same as announcing yourpassword regularly!2: Application LayerIMAPIMAP con’t Allows user to set up and maintain multiple folders During an IMAP connection, the server(for sorting mail) on the remote server Can get headers for and manipulate messageswithout downloading them (can even downloadindividual MIME attachments) 26transitions between multiple statesInitially non-authenticatedAuthenticated Selected – folder selected and operations onmessages permitted Finally, Logout state Don’t pay cost to download over slow linkDon’t leave them on insecure computers Stateful protocol - stores per user informationabout folders and the status of the messages inthem Folder information, actual messagesSeen, Deleted, Answered flags per message2: Application Layer272: Application Layer28Authentication in IMAP (cont)Authentication in IMAP Client requests a certain AUTHENTICATION method Client can try various authenticationC: A001 AUTHENTICATE KERBEROS V4mechanisms in decreasing order ofpreference looking for one the serversupports In the worst case, a client mayauthenticate with plain text loginC: a001 LOGIN SMITH SESAMES: a001 OK LOGIN completed If server implements that authentication mechanism then it willauthenticate via that methodS: AmFYig C: BAcAQU5EUkVXLkNNVS5FRFUAOCAsho84kLN3/IJmrMG 25a4DT nZImJjnTNHJUtxAA o0KPKfHEcAFs9a3CL5Oebe/ydHJUwYFdS: or//EoAADZI C: DiAF5A4gA oOIALuBkAAmw S: A001 OK Kerberos V4 authentication successful Sever can respond with NO if it does not support thatauthentication mechanismS: A001 NO authenticate failure2: Application Layer292: Application Layer305

Once authenticated, client can:Pop vs IMAP SELECT a mailboxC: A142 SELECT INBOXS: * 172 EXISTS S: * 1 RECENTS: * OK [UNSEEN 12] Message 12 is first unseenS: * OK [UIDVALIDITY 3857529045] UIDs validS: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)S: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] LimitedS: A142 OK [READ-WRITE] SELECT completed Similarities Mail delivered to a shared, constanly connected server New mail accessible anywhere in network on a variety ofplatforms For access only, Need SMTP to send mail Differences POP simpler and more established (more clients andservers that support it) IMAP is stateful protocol with more features; POP usesless server resources IMAP prioritize download time; POP shorter overallconnection time CREATE, RENAME or DELETE mailboxes FETCH messages from a mailbox SEARCH through messages APPEND messages to a mailbox2: Application Layer2: Application Layer31Network News32What is Usenet? Reading/posting to Usenet newsgroups Conceptually: a semi-organized collection of forumsThanks to Jeffrey Vinocur (NNTP presentation, Spring 2002)(“newsgroups”) for public discussion Technically: a system for distributing email-likemessages2: Application Layer2: Application Layer33Usenet Messages34Path: goense.net!not-for-meowFrom: meowbot@meowing.net (A Meowbot)Newsgroups: alt.dev.nullSubject: Why?Date: Sun, 27 Jan 2002 23:25:52 0000 (UTC)Organization: a tyranny of meowing fascist censor cabalistsLines: 4Approved: nope.Message-ID: mW.3C548C72.8BC5@K0deZ.scriptkiddie.net X-Trace: paradoxa.ogoense.net 1012173952 6565 141.154.205.147 (27 Jan2002 23:25:52 GMT)X-Complaints-To: abuse@ogoense.netX-Meow: WoufMail-Copies-To: nobodyX-No-Repost: yesXref: news.litech.org alt.dev.null:492 Format: like email, but a bit stricter and with some extraheaders (e.g., Newsgroups) – we don’t care about this today,except for two important headers Message-ID: unlike email, every message truly needs tohave a globally unique identifier Path: we’ll see this header laterBecause we like you.-Meow2: Application Layer352: Application Layer366

Network TopologySo I post then what? Users connect to a local site The goal is for every article to make it toevery server in the world – the “floodfill”model This can be as fast as a few seconds or aslong as a few days (normally a few hours) Each site may have several servers forbetter throughput Sites are connected by (manually-requested and -configured) peering links toother sites Major sites have hundreds of peers2: Application LayerCredit:CAIDA (1999)Serious bandwidth2: Application Layer3738An article arrives This can be either a new post from a user or anarticle being “fed” from a peering server.The server’s “name” added to the Pathheader (history of where the article hasbeen)2. The server stores the article so userscan read it3. For each of the server’s peers, determineif the peer has seen the article already(first check for peer’s name in Pathheader, then ask the peer about theMessage-ID)4. Send the article to peers who do not haveit1.2: Application Layer392: Application LayerUsenet, 1980Path headers and Message-IDs40Credit:Mark Horton Let’s trace an article. The initial component (atthe end!) of the Path header marks the originalposting server; then the originating server addsits name:reedphs\ / \uok---duke-unc/ \research vax135 ucbvaxPath: paradoxa.ogoense.net!not-for-meow Then this article gets fed to a another server andthen add their hostname:Path: or-meow And then it gets fed to another server Path: goense.net!not-for-meow2: Application Layer412: Application Layer427

Usenet, 1981Usenet, 1993Credit:ucbvax!markCredit:Brian Reidpdp(Misc)! (NC)(Misc)decvax sii reed phs--unc--grumpy duke34 utzoo cincy teklabs! ! !!!!!!!!! -- ---- ----- - -- ------------- ------- ------ !!!!!duke!!!!! ------ --- ----------------------- -------- !!!!!! !ucbopt! hocsr--mhtsa----researchmh135aharpo-----chico:!! !!ucbcory !! eagleihnssvax135 (Bell Labs)(UCB) :!! !!!ucbvax-- ---------- -- -- ----- -- ------ -------- :@!!! (Silicon Valley)ucbarpa @(UCSD) sdcsvax!menlo70--hao:@sdcattb----- !!!ucbonyx @ -----ucsfcglsytek sri-unix@phonlab----- cca-unixsdcarl!Uucp links:Berknet links@Arpanet links2: Application LayerUsenet today2: Application Layer4344Credit:Karl L. Swartz 1.4 million articlesdaily 360 GB daily Over a 100 Mbit/seclink is 8 hours!Usenet is like a herd of performing elephants withdiarrhea – massive, difficult to redirect, awe-inspiring,entertaining, and a source of mind-boggling amounts ofexcrement when you least expect it.– Professor Gene Spafford, Purdue University2: Application Layer2: Application Layer45FTP46ftp: the file transfer protocoluserat hostFTPFTPuserclientinterfacefile transferlocal filesystemFTPserverremote filesystem transfer file to/from remote host client/server modelclient: side that initiates transfer (either to/fromremote) server: remote host ftp: RFC 959 ftp server: port 21 2: Application Layer472: Application Layer488

ftp: separate control, data connectionsftp commands, responses ftp client contacts ftp serverSample commands:at port 21, specifying TCP astransport protocol two parallel TCP connectionsopened (both full duplex): control: exchangecommands, responsesbetween client, server.“out of band control” data: file data to/fromserver, can be used ineither direction, need notalways exist ftp server maintains “state”:current directory, earlierauthentication sent as ASCII text overcontrol channel USER username PASS password (sentin clear text!)TCP control connectionport 21FTPclientTCP data connectionport 20FTPserver(gets) file STOR filename stores(puts) file onto remotehost in http) 331 Username OK,password required 125 data connectionalready open;transfer starting 425 Can’t open dataconnection 452 Error writingfile2: Application LayerFTP Model Client connects to port 21 on server; this status code and phrase (as49FTP Connection current directory RETR filename retrieves2: Application Layer LIST return list of file inSample return codes2: Application LayerFtp clientUserInterfaceFTP serverestablished the control channelOver the control channel, the client specifies thecharacteristics including IP address and portnumber for data connection (note: needn’t be onthe same machine as the client )Can ask server to set up a passive connection forthe data port as well (good for getting aroundfirewalls)Server tries to connect to data port as specifiedby clientOnce established data connection can be used inboth ferProcessFile SystemFTP Commands/ essData ConnectionFile System2: Application Layer51Multimedia Applications5052Multimedia Applications Audio/video conferencing, streaming audio, etc. On-demand playback: could download before beginningplayback; could support rewind, fast forward etc.; startup time and RTT not very important Live transmission: usually broadcast from one source likeTV or radio; much like on demand; no rewind or fastforward; more sensitive to delay (how close to live?) Conferencing: interactive, start-up time and RTT matteralot Examples: vic (video conferencing), vat (audioconferencing), RealAudio, Quicktime,WindowsMedia2: Application Layer532: Application Layer549

Requirements of multimediaReal-time Transport Protocol(RTP) Several methods for compressing and encoding TCP overhead to high; UDP not good enough voice/video; sender and receiver negotiateAbility to display stream (at degraded quality)with lost packetsAbility to specify the timing requirementsbetween packets of related data for smoothplaybackFrame boundary indicationSynchronization of related audio and videostreamsNo retransmission of lost packets2: Application Layer Initially, each application had its own protocol,implementing only those parts of TCP it reallyneeded on top of UDP RTP offers generalized real time transportservices 56Real-time Streaming Protocol(RTSP ) Network “Remote Control” Like FTP has data channel and control channel; RTSP isthe control channel for streaming audio/video Not used to deliver data; often uses RTP for the dataportion Is this an application level protocol or atransport protocol? 2: Application Layer55Realtime Transport (?) Protocol Thin protocol; Runs on top of UDPImplements functionality commonly needed by multimediaapplications - timing reconstruction, loss detection,security and content identificationRFC 1889Done at application levelIf TCP implemented at application level (goodproject ), does that make it an applicationlevel protocol or a transport level protocol? Establishes and controls audio and video delivery Single or multiple audio/video streams (timesynchronization if desired) Live feeds or stored clips Where is the right place to put these Industry consortium announced in 1996 – sincefeatures?then? 2: Application LayerMostly development continued on proprietary versions:Real Network’s (originally Progressive Networks)RealMedia, RealAudio and RealPlayer , Quicktime,WindowsMedia?2: Application Layer57RTSP RequestsTrying RTSP DESCRIBE – description of presentation telnet servername 554 OPTIONS - get supported methods; capabilityannouncements58C: DESCRIBE rtsp://streamserver/rafile.rm RTSP/1.0\n\n SETUP – establish a new sessionS: RTSP/1.0 200 PLAY – start playback/streaming; reposition ANNOUNCE – change description of presentation RECORD – start recording REDIRECT – redirect client to a new server; forload balancing PAUSE –stop delivery but keep state TEARDOWN – stop delivery, remove state2: Application Layer592: Application Layer6010

Trying RTSP (2)RTSP vs HTTPC: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0Transport: rtp/udp; compression; port 3056; mode PLAYS: RTSP/1.0 200 1 OKSession 4231C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0Session: 4231Range: npt 0C: PAUSE /1.0Session: 4231Range: npt 37C: TEARDOWN /1.0Session: 4231S: 200 3 OK RTSP actually derived from HTTP Avoid mistakes (like always specify full URI) More methods of course2: Application Layer RTSP server needs to maintain state from SETUPto control PLAY command; HTTP server isstateless (uses cookies to trick client intoremembering it) Data can be delivered in or out of band with RTSP;HTTP data delivered in band RTSP is a symmetric protocol (client and servercan both isssue requests); HTTP client issuesrequests Session Description FormatsDifferent audio channels in various languagesDifferent quality of audio/video for various BWconnections Specify timing requirements betweenvarious streams Examples: SDF, SDPFrom:http://www.cs.columbia.edu/ hgs/rtsp/sdf.html2: Application Layer64Alternative: HTTP Streaming EMBED SRC “http://server/foo.sdf” TYPE “application/x-audio” HTTP gets session or presentation description file( not part of RTSP) from a web server Presentation Description indicates RTSP server tocontact Many sites simply send audio and video over HTTP When object arrives will be opened by appropriateapplication just like Doc files or PDF files Estimate when it is safe to begin playback withoutthe playback outpacing the download Download mode and a limited streaming mode canNote: RTSP is presentation description format neutralbe supported this way RTSP sets up a stream to control delivery RTSP used to indicate server that will actually stream the data and by what protocol 2: Application Layer63From URL in web page tostreaming audio/video 62session (v 0)(o mhandley 2890844526 2890842807 IN IP4126.16.64.4)(s Sd seminar)(i A seminar on the session description protocol)(u (e M.Handley@cs.ucl.ac.uk (Mark Handley))(c IN IP4 224.2.17.12/127)(t 2873397496 2873404696)(a recvonly) (all (media (m audio 3456 VAT PCMU))(media (m video 2232 RTP H261))(media (m whiteboard 32416 UDP WB)(orient portrait)) ))sources for all streams in a presentation May offer alternatives 2: Application LayerSDP example Format for describing the number and Ex. server can announce new available streams (audiofrom a new participant in a conference)61 Rewind? Fast forward?Can support full streaming if delays okEx. specify an RTP server to deliver the data Note: possibly 3 servers involved!2: Application Layer652: Application Layer6611

Audio and Video on theInternetMore Application LevelProtocols? Quicktime HTTP streaming or RTP and RTSP Telnet, Rlogin, SNMP (Simple NetworkManagement Protocol), Instant Messenger(AIM), DHCP (BOOTP) , RPC, NFS,X,Finger, Whois,IDENT . You now know how to investigate any ofthese on your own RealServer one control channel: RTSP over TCP one data channel: PNA (Progressive Networks Audio)over UDP (?) Also can use RTSP to interleave data and control ontoone TCP channel (common configuration) WindowsMedia Similar to RealPlayer: control channel and data channel Harder to find details of protocols (surprise, surprise) But formats are not compatible (surprise, surprise)2: Application LayerRFCs for open protocols, Run apps and tracethem, Get client/server source, It would be a lot more fun to learn morethan application level protocols though,right?67Roadmap2: Application Layer682: Application Layer70Outtakes We’ve looked at a bunch of application levelprotocols (HTTP, DNS, SMTP, POP, IMAP, NNTP,RTP, .) – Lessons? Many were human readable – why?High level examples of protocol layering (SMTP, HTTP)Some ran on TCP, some on UDP, one on both – why?Used telnet/nslookup to interact with these protocolsmore directlyTraced them (What went in clear text?!) Food-for-thought: Design a “Telephone Protocol” Next. How would we implement an application levelprotocol ourselves? Socket API After that down to transport layer2: Application Layer69telnet sourceReal Time Control Protocol(RTCP) We’ve been using telnet to examine various Real-time conferencing of groups of anyapplication protocols telnet basically opens a TCP connection tothe specified port Getting the telnet source and examining itwould be a good exercise2: Application Layersize within an internet. Provides source identification, quality-of-service feedback from receivers to themulticast group, synchronization ofdifferent media streams712: Application Layer7212

ReSerVation Protocol (RSVP) Host can use to request specific quality of servicefrom the network for a specific flow of data Must be processed and honored at each router tobe meaningful Works much like dynamic routing protocols; messagesprocessed by applications at user levelIf a flow is “admitted” then resource reservationdecisions will be made in form of packet classifier andschedulers that will prioritize the use of resources Cisco’s take on RSVP todoc/rsvp.htm2: Application Layer7313

SMTP SMTP SMTP 2: Application Layer 5 Electronic Mail: smtp [RFC 2821] Uses tcp to reliably transfer email msg from client to server, port 25 direct transfer: sending server to receiving server three phases of transfer handshaking (greeting) transfer of messages closure command/response interaction commands: ASCII text