DOC PREVIEW
NU EECS 340 - Application Layer

This preview shows page 1-2-17-18-19-36-37 out of 37 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 37 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Some slides are in courtesy of J. Kurose and K. RossReview of Previous Lecture• Network access and physical media• Internet structure and ISPs • Delay & loss in packet-switched networks• Protocol layers, service modelsAnnouncement• Project1, ignore “go.sh udp_server u 1500”• Recitation materials online• All find partners? Report to TA and get group IP address• Room location: Tu. 381 and Th. 343. Confusing?Application LayerOur goals:• conceptual, implementation aspects of network application protocols–transport-layer service models–client-server paradigm– peer-to-peer paradigm• learn about protocols by examining popular application-level protocols–HTTP–FTP– SMTP / POP3 / IMAP–DNS• programming network applications–socket APIOutline• Principles of app layer protocols–clients and servers– app requirements•Web and HTTP• FTP• Electronic Mail: SMTP, POP3, IMAPNetwork applications: some jargonProcess: program running within a host.•within same host, two processes communicate using interprocesscommunication (defined by OS).• processes running in different hosts communicate with an application-layer protocoluser agent: interfaces with user “above” and network “below”. • implements user interface & application-level protocol–Web: browser– E-mail: mail reader– streaming audio/video: media playerApplications and application-layer protocolsApplication: communicating, distributed processes– e.g., e-mail, Web, P2P file sharing, instant messaging – running in end systems (hosts) –exchange messages to implement applicationApplication-layer protocols– one “piece” of an app– define messages exchanged by apps and actions taken– use communication services provided by lower layer protocols (TCP, UDP)applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalApp-layer protocol defines•Types of messages exchanged, eg, request & response messages•Syntaxof message types: what fields in messages & how fields are delineated• Semantics of the fields, ie, meaning of information in fields•Rulesfor when and how processes send & respond to messagesPublic-domain protocols:• defined in RFCs• allows for interoperability•eg, HTTP, SMTPProprietary protocols:•eg, KaZaAClient-server paradigmTypical network app has two pieces: clientand serverapplicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalClient:• initiates contact with server (“speaks first”)• typically requests service from server • Web: client implemented in browser; e-mail: in mail readerrequestreplyServer:• provides requested service to client• e.g., Web server sends requested Web page, mail server delivers e-mailProcesses communicating across network• process sends/receives messages to/from its socket• socket analogous to door– sending process shoves message out door– sending process asssumestransport infrastructure on other side of door which brings message to socket at receiving processprocessTCP withbuffers,variablessockethost orserverprocessTCP withbuffers,variablessockethost orserverInternetcontrolledby OScontrolled byapp developer• API: (1) choice of transport protocol; (2) ability to fix a few parameters (lots more on this later)Addressing processes• For a process to receive messages, it must have an identifier• Every host has a unique 32-bit IP address•Q:does the IP address of the host on which the process runs suffice for identifying the process?•Answer:No, many processes can be running on same host• Identifier includes both the IP address and port numbersassociated with the process on the host.•Example port numbers:– HTTP server: 80–Mail server: 25• More on this laterWhat transport service does an app need?Data loss• some apps (e.g., audio) can tolerate some loss• other apps (e.g., file transfer, telnet) require 100% reliable data transferTiming• some apps (e.g., Internet telephony, interactive games) require low delay to be “effective”Bandwidth• some apps (e.g., multimedia) require minimum amount of bandwidth to be “effective”• other apps (“elastic apps”) make use of whatever bandwidth they getTransport service requirements of common appsApplicationfile transfere-mailWeb documentsreal-time audio/videostored audio/videointeractive gamesinstant messagingData lossno lossno lossno lossloss-tolerantloss-tolerantloss-tolerantno lossBandwidthelasticelasticelasticaudio: 5kbps-1Mbpsvideo:10kbps-5Mbpssame as above few kbps upelasticTime Sensitivenononoyes, 100’s msecyes, few secsyes, 100’s msecyes and noInternet transport protocols servicesTCP service:•connection-oriented:setup required between client and server processes•reliable transport between sending and receiving process•flow control:sender won’t overwhelm receiver •congestion control:throttle sender when network overloaded•does not providing:timing, minimum bandwidth guaranteesUDP service:• unreliable data transfer between sending and receiving process• does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guaranteeInternet apps: application, transport protocolsApplicatione-mailremote terminal accessWeb file transferstreaming multimediaInternet telephonyApplicationlayer protocolSMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]proprietary(e.g. RealNetworks)proprietary(e.g., Dialpad)Underlyingtransport protocolTCPTCPTCPTCPTCP or UDPtypically UDPOutline• Principles of app layer protocols–clients and servers– app requirements•Web and HTTP• FTP• Electronic Mail: SMTP, POP3, IMAPWeb and HTTPFirst some jargon•Web pageconsists of objects• Object can be HTML file, JPEG image, Java applet, audio file,…•Web page consists of base HTML-file which includes several referenced objects• Each object is addressable by a URL•Example URL:www.someschool.edu/someDept/pic.gifhost namepath nameHTTP overviewHTTP: hypertext transfer protocol• Web’s application layer protocol• client/server model–client:browser that requests, receives, “displays” Web objects–server:Web server sends objects in response to requests• HTTP 1.0: RFC 1945• HTTP 1.1: RFC 2068PC runningExplorerServer runningApache WebserverMac runningNavigatorHTTP requestHTTP requestHTTP responseHTTP responseHTTP overview (continued)Uses TCP:• client initiates TCP


View Full Document

NU EECS 340 - Application Layer

Download Application Layer
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Application Layer and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Application Layer 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?