DOC PREVIEW
U of I CS 438 - Application Layer

This preview shows page 1-2-3-23-24-25-26-47-48-49 out of 49 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 49 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 49 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 49 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 49 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 49 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 49 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 49 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 49 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 49 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 49 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 49 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Application LayerTCP Throughput on a Congested LinkExpected TCP ThroughputThroughput Dependence on RTTSlide 5“Analysis”Lessons from this ExampleApplication architecturesClient-server architecturePure P2P architectureHybrid of client-server and P2PApp-layer protocol definesWhat transport service does an app need?Transport service requirements of common appsWeb and HTTPHTTP overviewHTTP overview (continued)HTTP connectionsPersistent HTTPHTTP request messageHTTP request message: general formatHTTP response messageTrying out HTTP (client side) for yourselfDNS: Domain Name SystemDNSDistributed, Hierarchical DatabaseDNS: Root name serversTLD and Authoritative ServersLocal Name ServerExampleRecursive queriesDNS: caching and updating recordsDNS recordsDNS protocol, messagesSlide 35Inserting records into DNSFTP: the file transfer protocolFTP: separate control, data connectionsFTP commands, responsesElectronic MailElectronic Mail: mail serversElectronic Mail: SMTP [RFC 2821]Scenario: Alice sends message to BobSample SMTP interactionTry SMTP interaction for yourself:SMTP: final wordsMail access protocolsPOP3 protocolPOP3 (more) and IMAPApplication LayerTCP Throughput on a Congested LinkWhat assumption was made for fairness?At equilibrium, AIMD growth and backoff go in opposite directionsBackoff always goes toward originWhat about growth (i.e., does it always have slope 1)?equal bandwidth sharethroughput 2throughput 1Expected TCP ThroughputNO!Additive increase adds fixed amount per RTTThroughput growth is proportional to 1/RTTFor two-flow case, slope is RTT1/RTT2Analysis with many flowsBottleneck capacity CRates grow to bottleneck, then all back off at onceTotal rate of throughput growth is fixed, so time t between backoffs is also fixedGrowth for each flow is t/RTT, and throughput is proportional to this growthThroughput Dependence on RTT0.010.111 10RTT (arbitrary units)throughput (arbitrary units)1/RTT curve1/sqrt(RTT) curvesimulation scenario 1simulation scenario 2Throughput Dependence on RTTWhat’s going on?Assumed all flows back off under contention(arguably) more likely that only one flow backs offProbability of congestion packet loss is proportional to throughputIntuitionLow-RTT flow is more likely to back offReduces throughput advantage of low-RTT flows“Analysis”Consider a flow F among many, varied flowsBackoffs happen very frequentlyProbability to back off proportional to rateCould happen any timeApproximate by Poisson processLet flow F have expected throughput CExp. time between backoffs proportional to 1/CBetween backoffs, throughput changesfrom 2/3 C to 4/3 C (average is C)Rate of change proportional to C2Rate of change also proportional to 1/RTTThus C proportional to 1/sqrt(RTT)Lessons from this ExampleAnalysisOnly as good as your understandingEasy to shortcut steps when you know the answer (non-rigorous math is not uncommon)SimulationNo better than analysis with regard to understandinge.g., a simulator that backs off all flows achieves throughput proportional to 1/RTTExperiments are necessary!(but can be hard to set up)8Application architecturesClient-serverPeer-to-peer (P2P)Hybrid of client-server and P2P9Client-server architectureserver: always-on hostpermanent IP addressserver farms for scalingclients:communicate with servermay be intermittently connectedmay have dynamic IP addressesdo not communicate directly with each other10Pure P2P architectureno always-on serverarbitrary end systems directly communicatepeers are intermittently connected and change IP addressesexample: GnutellaHighly scalable but difficult to manage11Hybrid of client-server and P2PInstant messagingChatting between two users can be P2PPresence detection/location centralized:User registers its IP address with central server when it comes onlineUser contacts central server to find IP addresses of buddiesNapsterDirectory of files was centralized Transfer of files was P2PScalability problems in the directory12App-layer protocol definesTypes of messages exchanged, e.g., request, response Message syntax:what fields in messages & how fields are delineatedMessage semantics meaning of information in fieldsRules for when and how processes send & respond to messagesPublic-domain protocols:defined in RFCsallows for interoperabilitye.g., HTTP, SMTPProprietary protocols:e.g., Skype13What transport service doesan app need?Data losssome apps (e.g., audio) can tolerate some lossother apps (e.g., file transfer, telnet) require 100% reliable data transfer Timing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 get14Transport 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 no15Web and HTTPFirst some jargonWeb page consists 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:http://www.someschool.edu/someDept/pic.gifhost namepath name16HTTP 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 runningFirefoxServer runningApache WebserverMac runningSafariHTTP requestHTTP requestHTTP responseHTTP response17HTTP overview (continued)Uses TCP:client initiates TCP connection (creates socket) to server, port 80server accepts TCP connection from clientHTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server)TCP connection closedHTTP is “stateless”server maintains no information about past


View Full Document

U of I CS 438 - Application Layer

Documents in this Course
Routing

Routing

5 pages

TCP

TCP

26 pages

TROLL

TROLL

3 pages

Load more
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?