Application Layer. Application Layer 1. By Mikkel Christiansen for NA mm7 Spring 2004
|
|
- Lilian Atkinson
- 5 years ago
- Views:
Transcription
1 Application Layer By Mikkel Christiansen for NA mm7 Spring 2004 Based on power-point material from J.F Kurose and K.W. Ross website Application Layer 1
2 Last on NA End-systems PCs workstations, servers PDAs phones, toasters Many different applications local ISP regional ISP Communication links fiber, copper, radio, satellite Routers: forward data company network router server workstation mobile Application Layer 2
3 Network Taxonomy Telecommunication networks Circuit-switched networks Packet-switched networks FDM TDM Networks with VCs Datagram Networks Application Layer 3
4 Last on NA Transmission delay A Propagation delay B Queueing delay Processing delay Four sources of delay Nodal delay: Sum of delay from all four sources End-to-end delay: Sum of Nodal delays Application Layer 4
5 Last on NA H l Protocol stacks Each layer takes data from above Adds header information to create new data unit Passes new data unit to layer below source destination H t H n H t H n H t M M M M application transport network link physical application transport network link physical H l H t H n H t H n H t M M M M message segment datagram frame Application Layer 5
6 Application Layer Today on NA: Conceptual, implementation aspects of network application protocols transport-layer service models client-server paradigm Application Level Protocols HTTP DNS Network programming socket API Application Layer 6
7 Applications and application-layer protocols Application Communicating, distributed processes E.g., , Web, P2P file sharing, instant messaging Running in end systems Exchange messages to implement application application transport network data link physical Application-layer protocols One piece of an app Define messages exchanged by apps and actions taken Example: HTTP Use communication services provided by lower layer protocols (TCP, UDP) application transport network data link physical application transport network data link physical Application Layer 7
8 App-layer protocol defines Types of messages exchanged E.g. request & response messages Syntax of message types what fields in messages & how fields are delineated Semantics of the fields I.e., meaning of information in fields Rules for when and how processes send & respond to messages Application Layer 8
9 Client-server paradigm Client: Initiates contact with server ( speaks first ) Typically requests service from server, Web: client implemented in browser; in mail reader application transport network data link physical request reply Server: Provides requested service to client E.g., Web server sends requested Web page, mail server delivers application transport network data link physical Application Layer 9
10 Processes communicating across network Process sends/receives messages to/from its socket Socket analogous to door Sending process shoves message out door host or server process socket TCP with buffers, variables controlled by app developer Internet host or server process socket TCP with buffers, variables API: Choice of transport protocol Ability to fix a few parameters controlled by OS Application Layer 10
11 Addressing Processes For a process to receive messages, it must have an identifier IP and Port IP identifies the host A unique 32-bit value Port identifies the process One host can have many processes Example: HTTP server uses port 80 host or server process socket TCP with buffers, variables Internet host or server process socket TCP with buffers, variables Application Layer 11
12 What transport service does an app need? Data loss Can we tolerate some loss? Timing Do we require low delay? Bandwidth Do we require a minimum amount of bandwidth to be effective? Application Layer 12
13 Transport service requirements of common apps Application Data loss Bandwidth Time Sensitive file transfer Web documents real-time audio/video stored audio/video interactive games instant messaging no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up elastic no no no yes, 100 s ms yes, few secs yes, 100 s ms yes and no Elastic applications make use of whatever bandwidth is available Application Layer 13
14 Internet transport protocols services TCP 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 provide: timing, minimum bandwidth guarantees UDP service: Unreliable data transfer between sending and receiving process Application Layer 14
15 Internet apps: application, transport protocols Application remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Dialpad) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP Application Layer 15
16 Outline Principles of app layer protocols clients and servers app requirements Web and HTTP DNS Socket programming with TCP Application Layer 16
17 Web and HTTP Web operates on demand, eg. pull protocol 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: host name path name Application Layer 17
18 HTTP overview HTTP: 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 2068 PC running Exploder Mac running Safari HTTP request HTTP response HTTP request HTTP response Server running Apache Web server Application Layer 18
19 HTTP overview (continued) Uses TCP Tolerates no loss No time constraints Elastic bandwidth requirements HTTP is stateless Server maintains no information about past client requests Stateless is a often used to simplify protocols in distributed systems HTTP is text-based Cross platform! Main events when retrieving a web page Client initiates TCP connection Server accepts TCP connection from client HTTP messages exchanged between browser (HTTP client) and Web server (HTTP server) (TCP connection closed) Application Layer 19
20 HTTP connections Optimizations Persistent connections Pipelining Nonpersistent HTTP At most one object is sent over a TCP connection. HTTP/1.0 uses nonpersistent HTTP Persistent HTTP Multiple objects can be sent over single TCP connection between client and server. HTTP/1.1 uses persistent connections in default mode Application Layer 20
21 Nonpersistent HTTP uppose user enters URL (contains text, references to 10 jpeg images) time 1. HTTP client initiates TCP connection to HTTP server (process) at on port HTTP client sends HTTP request message (containing URL) into TCP connection socket. Message indicates that client wants object somedepartment/home.index 2. HTTP server at host waiting for TCP connection at port 80. accepts connection, notifying client 4. HTTP server receives request message, forms response message containing requested object, and sends message into its socket Application Layer 21
22 Nonpersistent HTTP (cont.) ime 6. HTTP client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects 7. Steps 1-5 repeated for each of 10 jpeg objects 5. HTTP server closes TCP connection. Application Layer 22
23 Response time modeling Definition of RRT: time to send a small packet to travel from client to server and back. Response time: One RTT to initiate TCP connection One RTT for HTTP request and first few bytes of HTTP response to return File transmission time total = 2RTT+transmit time initiate TCP connection RTT request file RTT file received time time time to transmit file Application Layer 23
24 Persistent HTTP and Pipelining Nonpersistent HTTP issues: Requires 2 RTTs per object OS must work and allocate host resources for each TCP connection Browsers often open parallel TCP connections to fetch referenced objects Persistent HTTP Server leaves connection open after sending response Subsequent HTTP messages between same client/server are sent over connection Persistent without pipelining: Client issues new request only when previous response has been received One RTT for each referenced object Persistent with pipelining: Default in HTTP/1.1 Client sends requests as soon as it encounters a referenced object As little as one RTT for all the referenced objects Application Layer 24
25 Number of Objects Per Page Cummulative Probability Number of objects per page Application Layer 25
26 HTTP request message Two types of HTTP messages: request, response HTTP request message: ASCII (human-readable format) request line (GET, POST, HEAD commands) header lines GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr Carriage return, line feed indicates end of message (extra carriage return, line feed) Application Layer 26
27 HTTP request message: general format Application Layer 27
28 Uploading form input Post method: Web page often includes form input Input is uploaded to server in entity body URL method: Uses GET method Input is uploaded in URL field of request line: Application Layer 28
29 Method types HTTP/1.0 GET POST HEAD Asks server to leave requested object out of response HTTP/1.1 GET, POST, HEAD PUT Uploads file in entity body to path specified in URL field DELETE Deletes file specified in the URL field Application Layer 29
30 HTTP response message status line (protocol status code status phrase) header lines server will close connection after response msg HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun Content-Length: 6821 Content-Type: text/html data, e.g., requested HTML file data data data data data... Application Layer 30
31 HTTP response status codes In first line in server->client response message. A few sample codes: 200 OK request succeeded, requested object later in this message 301 Moved Permanently requested object moved, new location specified later in this message (Location:) 400 Bad Request request message not understood by server 404 Not Found requested document not found on this server 505 HTTP Version Not Supported Application Layer 31
32 User-server interaction: authorization Authorization : Control access to server content Authorization credentials: typically name, password Stateless: client must present authorization in each request Authorization: header line in each request If no authorization: header, server refuses access, sends WWW authenticate: header line in response client usual http request msg 401: authorization req. WWW authenticate: usual http request msg + Authorization: <cred> usual http response msg usual http request msg + Authorization: <cred> usual http response msg server time Application Layer 32
33 Cookies: keeping state Many Web sites use cookies Four components: 1) Cookie header line in the HTTP response message 2) Cookie header line in HTTP request message 3) Cookie file kept on user s host and managed by user s browser 4) Back-end database at Web site Example: Susan access Internet always from same PC She visits a specific e- commerce site for first time When initial HTTP requests arrives at site, site creates a unique ID and creates an entry in backend database for ID Application Layer 33
34 Cookies: keeping state (cont.) Cookie file ebay: 8734 Client usual http request msg usual http response + Set-cookie: 1678 Server server creates ID 1678 for user entry in backend database Cookie file amazon: 1678 ebay: 8734 one week later: usual http request msg cookie: 1678 usual http response msg cookiespecific action access access Cookie file amazon: 1678 ebay: 8734 usual http request msg cookie: 1678 usual http response msg cookiespectific action Application Layer 34
35 Cookies & Privacy What cookies can bring: Authorization Shopping carts Recommendations User session state (Web ) Cookies and privacy: Cookies permit sites to learn a lot about you You may supply name and to sites Search engines use redirection & cookies to learn yet more Advertising companies obtain info across sites Application Layer 35
36 Conditional GET: client-side caching Goal: don t send object if client has up-to-date cached version Client: specify date of cached copy in HTTP request If-modified-since: <date> Client HTTP request msg If-modified-since: <date> HTTP response HTTP/ Not Modified Server object not modified Server: response contains no object if cached copy is upto-date: HTTP/ Not Modified HTTP request msg If-modified-since: <date> HTTP response HTTP/ OK <data> object modified Application Layer 36
37 Web caches (proxy server) Goal: satisfy client request without involving origin server User sets browser: Web accesses via cache Browser sends all HTTP requests to cache Object in cache: cache returns object Else cache requests object from origin server, then returns object to client client client HTTP request HTTP response HTTP request HTTP response Proxy server HTTP request HTTP response origin server origin server Application Layer 37
38 HTTP Summary Client Server Protocol Pull Protocol Stateless Text-based Persistent connections Pipelining Message format Method types Authorization Cookies Client-side caching Web caches Application Layer 38
39 Outline Principles of app layer protocols clients and servers app requirements Web and HTTP DNS Socket programming with TCP Application Layer 39
40 DNS: Domain Name System People Many identifiers CPR, name, passport # Hosts, routers IP address (32 bit) - used for addressing datagrams borg.cs.auc.dk - used by humans, used by machines Domain Name System: Distributed database implemented in hierarchy of many name servers Application-layer protocol Clients and servers communicate to resolve names (address/name translation) Network service implemented on the edge of the network Application Layer 40
41 DNS: Domain Name System Why not centralize DNS? Single point of failure Traffic volume Distant centralized database Maintenance Political issues doesn t scale! DNS issues Name Spaces Flat Hierarchical Binding Names to values Resolution mechanism How do clients resolve a name Application Layer 41
42 Name Spaces. net org mil gov com edu uk dk mit unc cs med Hierarchical and abstract name space Each node corresponds to a domain Domain = a place where more names can be defined Domain names Read from right to left Example www Application Layer 42
43 Name Servers. net org com gov mil edu uk dk Partition tree into zones A zone is an administrative authority A zone corresponds to the unit of implementation Information in each zone is implemented in two or more name servers (reliability) A server can implement several zones A hierarchy of servers mit unc cs med www Application Layer 43
44 Local+Authoritative Name Servers Local name servers: Each ISP, company has local (default) name server Host DNS query first goes to local name server Authoritative name server: Store mappings for a zone Can perform name/address translation for that host in its zone How can local name servers find the right authoritative name server? Root name servers Application Layer 44
45 Root name servers Contacted by local name server that can not resolve name Root name server: Contacts authoritative name server if name mapping not known Gets mapping Returns mapping to local name server e NASA Mt View, CA f Internet Software C. Palo Alto, CA b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA k RIPE London i NORDUnet Stockholm m WIDE Tokyo 13 root name servers worldwide F: gets hits per day.com TLD gets !! Application Layer 45
46 Simple DNS example Host surf.eurecom.fr wants IP address of gaia.cs.umass.edu 2 root name server local name server dns.eurecom.fr authorititive name server dns.umass.edu 1 6 requesting host surf.eurecom.fr gaia.cs.umass.edu Application Layer 46
47 Intermediates root name server Root name server: May not know authoritative name server May know intermediate name server: who to contact to find authoritative name server local name server dns.eurecom.fr requesting host surf.eurecom.fr intermediate name server dns.umass.edu 4 5 authoritative name server dns.cs.umass.edu gaia.cs.umass.edu Application Layer 47
48 Iterated queries root name server Recursive query: Puts burden of name resolution on contacted name server Root servers have enough work to do! Iterated query: Contacted server replies with name of server to contact I don t know this name, but ask this server local name server dns.eurecom.fr requesting host surf.eurecom.fr iterated query intermediate name server dns.umass.edu 5 6 authoritative name server dns.cs.umass.edu gaia.cs.umass.edu Application Layer 48
49 Caching and updating records Caching Cache mappings to minimize traffic load Cached entries timeout after some time New DNS features from the IETF Change notification Force update of caches Update option Allow administrators to dynamically update DNS entries RFC 2136 Application Layer 49
50 DNS records DNS: distributed DB storing resource records (RR) RR format: (name, value, type,ttl) Type=A name is hostname value is IP address Type=NS name is domain (e.g. foo.com) value is IP address of authoritative name server for this domain Type=CNAME name is alias name for some (the real) name is really servereast.backup2.ibm.com value is cannonical name Type=MX value is name of mailserver associated with name Application Layer 50
51 DNS protocol, messages DNS protocol : query and reply messages, both with same message format Message header Identification: 16 bit # for query, reply to query uses same # Flags: query or reply recursion desired recursion available reply is authoritative Number of Elements in the following fields Application Layer 51
52 DNS protocol, messages Name, type fields for a query RRsin reponse to query records for authoritative servers additional helpful info that may be used Application Layer 52
53 Domain Information Groper >dig ;; QUESTION SECTION: ; IN A ;; ANSWER SECTION: IN CNAME elm.cs.auc.dk. elm.cs.auc.dk IN A ;; AUTHORITY SECTION: cs.auc.dk IN NS auaw.aua.auc.dk. cs.auc.dk IN NS femto.cs.auc.dk. cs.auc.dk IN NS ns-soa.darenet.dk. cs.auc.dk IN NS dns.e.cs.auc.dk. cs.auc.dk IN NS dns.cs.auc.dk. ;; ADDITIONAL SECTION: dns.e.cs.auc.dk IN A dns.cs.auc.dk IN A auaw.aua.auc.dk IN A femto.cs.auc.dk IN A ns-soa.darenet.dk IN A Application Layer 53
54 DNS Summary Key techiques that keep DNS working Hierarchy Caching Distributed processing On Monday, October 21, 2002, the Internet didn't stop. That evening, the Internet's 13 DNS root servers suffered a heavy Distributed Denial of Service (DDoS) attack that failed to disrupt service... 9 servers failed, 4 continued to work No root servers, no working Internet! Application Layer 54
55 Outline Principles of app layer protocols clients and servers app requirements Web and HTTP DNS Socket programming with TCP Application Layer 55
56 Socket programming A socket is a host-local, application-created, OScontrolled interface (a door ) into which application process can both send and receive messages to/from another application process Socket API Introduced in BSD4.1 UNIX, 1981 Explicitly created, used, released by apps Two types of transport service via socket API: Unreliable datagram (UDP) Reliable, byte stream-oriented (TCP) Application Layer 56
57 Socket programming Socket: a door between application process and end-end-transport protocol controlled by application developer controlled by operating system process socket TCP with buffers, variables internet process socket TCP with buffers, variables controlled by application developer controlled by operating system End-system End-system Application Layer 57
58 Socket programming with TCP Client must contact server Server process must first be running, and must have created socket Client contacts server by: Creating client-local TCP socket Specifying IP address, port number of server process When client creates socket: client TCP establishes connection to server TCP When contacted by client, server TCP creates new socket for server process to communicate with client Allows server to talk with multiple clients Source port numbers used to distinguish clients Application Layer 58
59 Socket programming with TCP Client Process Server Process Welcoming Socket Client Socket Connection Socket Application Layer 59
60 xample client-server app Client reads line from standard input (infromuser stream), sends to server via socket (outtoserver stream) infromserver outtoserver Server reads line from socket Client socket Server converts line to uppercase, sends back to client Standard output 4) 2) 3) Client process 1) Client reads, prints modified line from socket (infromserver stream) Standard input infromuser Application Layer 60
61 Client/server socket interaction: TCP Server (running on borg) create socket, port=2227, for incoming request: welcomesocket = ServerSocket() wait for incoming connection request connectionsocket = welcomesocket.accept() read request from connectionsocket TCP connection setup Client create socket, connect to borg, port=2227 clientsocket = Socket() send request using clientsocket write reply to connectionsocket close connectionsocket read reply from clientsocket close clientsocket Application Layer 61
62 Example: Java server (I) import java.io.*; import java.net.*; class TCPServer { Create welcoming socket at port 2227 Wait for client to connect Create input stream, attached to socket public static void main(string argv[]) throws Exception { String clientsentence; String capitalizedsentence; ServerSocket welcomesocket = new ServerSocket(2227); while(true) { Socket connectionsocket = welcomesocket.accept(); BufferedReader infromclient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()) Application Layer 62
63 Example: Java server (II) Create output stream, attached to socket Read in line from socket DataOutputStream outtoclient = new DataOutputStream(connectionSocket.getOutputStream()); clientsentence = infromclient.readline(); capitalizedsentence = clientsentence.touppercase() + '\n'; Write out line outtoclient.writebytes(capitalizedsentence); to socket connectionsocket.close(); // close connection } // end while } // end main } // end class Application Layer 63
64 Example: Java client (I) import java.io.*; import java.net.*; class TCPClient { Create input stream Create client socket, connect to server Create output stream tached to socket public static void main(string argv[]) throws Exception { String sentence; String modifiedsentence; BufferedReader infromuser = new BufferedReader(new InputStreamReader(System.in)); // java gets borg s ip address using DNS Socket clientsocket = new Socket( borg", 2227); DataOutputStream outtoserver = new DataOutputStream(clientSocket.getOutputStream()); Application Layer 64
65 Example: Java client (II) Create input stream attached to socket Send line to server Read line from server BufferedReader infromserver = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = infromuser.readline(); outtoserver.writebytes(sentence + '\n'); modifiedsentence = infromserver.readline(); System.out.println("FROM SERVER: " + modifiedsentence); clientsocket.close(); } // end main } // end class Application Layer 65
66 Chapter 2: Summary Most importantly: learned about protocols Typical request/reply message exchange: client requests info or service server responds with data, status code Message formats: headers: fields giving info about data data: info being communicated centralized vs. decentralized stateless reliable vs. unreliable msg transfer complexity at network edge security: authentication Application Layer 66
67 socket programming in C' Primitive socket bind listen accept connect send receive close Meaning Create a new communication socket end point (specify protocol) Attach a local address to a socket Announce willingness to accept connections; give queue size Block the caller until a connection attempt arrives Actively attempt to establish a connection Send some data from the connection Receive some data from the connection Release the connection Application Layer 67
68 Socket programming: references C-language tutorial (audio/slides): Unix Network Programming (J. Kurose), Java-tutorial: Socket Programming in Java: a tutorial, Application Layer 68
Chapter 2 outline. 2.1 Principles of app layer protocols
Chapter 2 outline 2.1 Principles of app layer protocols clients and servers app requirements 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 Socket programming with TCP 2.7 Socket
More informationReview of Previous Lecture
Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose
More informationLecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 6 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts
More informationWeb, HTTP and Web Caching
Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects
More informationFoundations of Telematics
Foundations of Telematics Chapter 2 Application Layer Principles of network applications Important application protocols Using sockets Acknowledgement: These slides have been prepared by J.F. Kurose and
More informationApplication Layer. Applications and application-layer protocols. Goals:
Application Layer Goals: Conceptual aspects of network application protocols Client paradigm Service models Learn about protocols by examining popular application-level protocols HTTP DNS 1 Applications
More informationChapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer
Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 2: Application Layer Our goals: conceptual, implementation
More informationApplication Layer. Goals: Service models. Conceptual aspects of network application protocols Client server paradigm
Application Layer Goals: Conceptual aspects of network application protocols Client server paradigm Service models Review protocols by examining popular application-level protocols HTTP DNS 1 Applications
More informationCSEN 404 Introduction to Networks. Mervat AbuElkheir Mohamed Abdelrazik. ** Slides are attributed to J. F. Kurose
CSEN 404 Introduction to Networks Mervat AbuElkheir Mohamed Abdelrazik ** Slides are attributed to J. F. Kurose HTTP Method Types HTTP/1.0 GET POST HEAD asks server to leave requested object out of response
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationCS4/MSc Computer Networking. Lecture 3: The Application Layer
CS4/MSc Computer Networking Lecture 3: The Application Layer Computer Networking, Copyright University of Edinburgh 2005 Network Applications Examine a popular network application: Web Client-server architecture
More informationClient/Server Computing & Socket Programming
CPSC 852 Intering Client/Server Computing & Socket Programming Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852
More informationCMSC 332 Computer Networking Web and FTP
CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into
More informationLecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it
Lecture 7 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts
More information1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10
EE 586 Communication and Switching Networks (Fall 2010) Lecture 10 September 17 2010 1-1 Announcement Send me your group and get group ID HW3 (short) out on Monday Personal leave for next two weeks No
More informationComputer Networks. Wenzhong Li. Nanjing University
Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationEECS 3214: Computer Network Protocols and Applications
EECS 3214: Computer Network Protocols and Applications Suprakash Datta Course page: http://www.eecs.yorku.ca/course/3214 Office: LAS 3043 Email: datta [at] cse.yorku.ca These slides are adapted from Jim
More informationComputer Networks. 2.Application Layer. László Böszörményi Computer Networks Application Layer - 1
Computer Networks 2.Application Layer László Böszörményi Computer Networks Application Layer - 1 Applications + App Layer Protocols Applications, app. processes E.g., E-mail, WWW, DNS, P2P file sharing,
More informationChapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication
Mobile network Chapter 2 The Yanmin Zhu Department of Computer Science and Engineering Global ISP Home network Regional ISP Institutional network CSE Department 1 CSE Department 2 Application layer - Overview
More informationApplication Layer: HTTP
Application Layer: HTTP EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 23-Jan-18 1-1 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic
More informationApplication Layer. Goals:
Application Layer Goals: Conceptual aspects of network application protocols Client server paradigm Service models Learn about protocols by examining popular applicationlevel protocols HTTP DNS SMTP, POP3,
More informationApplication Layer. Applications and application-layer protocols. Goals:
Application Layer Goals: Conceptual aspects of network application protocols Client server paradigm Service models Learn about protocols by examining popular applicationlevel protocols HTTP DNS SMTP, POP3,
More informationHyperText Transfer Protocol
Outline Introduce Socket Programming Domain Name Service (DNS) Standard Application-level Protocols email (SMTP) HTTP HyperText Transfer Protocol Defintitions A web page consists of a base HTML-file which
More informationLecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa
NET 331 Computer Networks Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth
More informationLecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa
NET 331 Computer Networks Lecture 05: Application Layer (Part 02) Domain Name System Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition by Kurose and
More informationCommunication in Distributed Systems: Sockets Programming. Operating Systems
Communication in Distributed Systems: Sockets Programming Operating Systems TCP/IP layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets
More informationChapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming with UDP and TCP Application
More informationCSCD 330 Network Programming Spring 2018
CSCD 330 Network Programming Spring 2018 Lecture 6 Application Layer Socket Programming in Java Reading for Java Client/Server see Relevant Links Some Material in these slides from J.F Kurose and K.W.
More informationCSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved
CSC358 Week 2 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Tutorial this Friday Assignment 1 will be out shortly
More informationChapter 2 Application Layer
Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Some network apps e-mail web text messaging remote
More informationCSEN 503 Introduction to Communication Networks
CSEN 503 Introduction to Communication Networks 1-1 Mervat AbuElkheir Hana Medhat Ayman Dayf ** Slides are attributed to J. F. Kurose Roadmap: Application layer Cookies and User-Server State Web caches
More informationChapter 2 Application Layer. Lecture 5 DNS. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012
Chapter 2 Application Layer Lecture 5 DNS Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Chapter 2: outline 2.1 principles
More informationNetworking. Layered Model. DoD Model. Application Layer. ISO/OSI Model
Networking Networking is concerned with the physical topology of two or more communicating entities and the logical topology of data transmission. Layered Model Systems communicate over a shared communication
More informationPart 2: Application Layer
Part 2: Application Layer Our goals: conceptual, implementation aspects of network application protocols client-server paradigm service models learn about protocols by examining popular application-level
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Homework #1 Assigned today Due in one week Application layer: DNS, HTTP, protocols Recommend you start early
More informationLayered Model. DoD Model. ISO/OSI Model
Data Communications vs Networking (later) Communication is concerned with the transmission of data over a communication medium/channel between two entities. Here we are more concerned about EE issues such
More informationChapter 2: outline. 2.1 principles of network applications. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming
More informationChapter 2 Application Layer
Internet and Intranet Protocols and Applications Lecture 4: Application Layer 3: Socket Programming Spring 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu Chapter 2
More informationApplication Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app
Application Layer e- web instant messaging remote login P2P file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing Creating a network
More informationChapter 2 Application Layer
Chapter 2 Application Layer Reference: Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007. Application Layer 1 Chapter 2: Application layer 2.1 Principles
More informationChapter II: Application Layer
Chapter II: Application Layer UG3 Computer Communications & Networks (COMN) MAHESH MARINA mahesh@ed.ac.uk Slides thanks to Myungjin Lee, and copyright of Kurose and Ross First, a review Web and HTTP web
More informationApplication Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app
Application Layer e- web instant messaging remote login PP file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing Creating a network
More informationIntroduction to Sockets 9/25/14
Introduction to Sockets 9/25/14 81 Remote communication Inter-process communication is at the heart of all distributed systems Using the network protocol stack on a node is the only way to communicate
More informationDomain Name Service. DNS Overview. October 2009 Computer Networking 1
Domain Name Service DNS Overview October 2009 Computer Networking 1 Why DNS? Addresses are used to locate objects (contain routing information) Names are easier to remember and use than numbers DNS provides
More informationChapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach
Chapter 2 Application Layer Lecture 4: principles of network applications Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Chapter
More informationApplication Layer Protocols
Application Layer Protocols Dr. Ihsan Ullah Department of Computer Science & IT University of Balochistan, Quetta Pakistan Email: ihsan.ullah.cs@gmail.com These slides are adapted from the slides accompanying
More informationDATA COMMUNICATOIN NETWORKING
DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet
More informationChapter 2: Application layer
Chapter 2 Application Layer A note on the use of these ppt slides: Were making these slides freely available to all (faculty, students, readers). Theyre in PowerPoint form so you can add, modify, and delete
More informationChapter 2: Application layer
Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 Socket programming with TCP 2.8 Socket
More informationApplication Layer Chapter 2
Application Layer Chapter 2 Silvia Giordano SUPSI CH-6928 Manno silvia.giordano@supsi.ch http://www.supsi.ch SUPSI-DTI Silvia Giordano 10/06/2004 Application Layer 1 Chapter goals: learn about protocols
More informationChapter 2: Application Layer last updated 22/09/03
Chapter 2: Application Layer last updated 22/09/03 Chapter goals: conceptual + implementation aspects of network application protocols client server paradigm service models learn about protocols by examining
More informationCS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.
CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail: SMTP, POP3, IMAP
More informationCSC 4900 Computer Networks:
CSC 4900 Computer Networks: Email Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review Last week we talked about design principles, and the application protocols
More informationInternet Services & Protocols. Application Layer and its Services
Department of Computer Science Institute for System Architecture, Chair for Computer Networks Internet Services & Protocols Application Layer and its Services Dr.-Ing. Stephan Groß Room: INF 3099 E-Mail:
More informationLecture 7: Application Layer Domain Name System
Lecture 7: Application Layer Domain Name System COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016, J.F Kurose
More informationApplication Layer: , DNS
Application Layer: E-mail, DNS EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 22-Jan-18 1-1 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic
More informationIntroduction to Computer Networking. Guy Leduc. Chapter 2 Application Layer. Chapter 2: outline
Introduction to Computer Networking Guy Leduc Chapter 2 Application Layer Computer Networking: A Top Down Approach, 6 th edition. Jim Kurose, Keith Ross Addison-Wesley, March 2012 2: Application Layer
More informationReview for Internet Introduction
Review for Internet Introduction What s the Internet: Two Views View 1: Nuts and Bolts View billions of connected hosts routers and switches protocols control sending, receiving of messages network of
More informationDomain Name System (DNS) 김현철 ( 화 ) 정보통신융합서울대학교컴퓨터공학부
Domain Name System (DNS) 김현철 2010.09.29 ( 화 ) 정보통신융합서울대학교컴퓨터공학부 Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students,
More informationApplication layer. Some network apps. Client-server architecture. Hybrid of client-server and P2P. Pure P2P architecture. Creating a network app
Application layer Some network apps e- web instant messaging remote login P2P file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing
More informationInternet applications. 2: Application Layer 1
Internet applications 2: Application Layer 1 Recall Internet architecture Intelligence at end systems e.g., web server software communicates with browser software No need to write software for network-core
More informationApplications Layer Protocols. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806
Applications Layer Protocols Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 1 Acknowledgements Some pictures used in this presentation were obtained
More informationIntroduction to Computer Networking. Guy Leduc. Chapter 2 Application Layer. Chapter 2: outline
Introduction to Computer Networking Guy Leduc Chapter 2 Application Layer Computer Networking: A Top Down Approach, 7 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2016 2: Application Layer
More informationCMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4 1 Lab schedule confirmation Mondays, 12:00-2:00pm Tuesdays, 11:00am-1:00pm Wednesdays, 4:00-6:00pm
More informationComputer Networking Introduction
Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.5 Chapter 2: outline 2.1 principles of network applications app architectures
More informationCS 3516: Advanced Computer Networks
Welcome to CS 3516: Adanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: Fuller 320 Fall 2017 A-term 1 Some slides are originally from the course materials of the textbook
More informationChapter 2 Application Layer
CSF531 Advanced Computer Networks 高等電腦網路 Chapter 2 Application Layer 吳俊興 國立高雄大學資訊工程學系 Chapter 2: Outline 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3,
More informationChapter 2: Application Layer
Chapter 2: Application Layer Course on Computer Communication and Networks, CTH/GU The slides are adaptation of the slides made available by the authors of the course s main textbook: Computer Networking:
More informationChapter 2 part B: outline
Chapter 2 part B: outline 2.3 FTP 2.4 electronic, POP3, IMAP 2.5 DNS Application Layer 2-1 FTP: the file transfer protocol at host FTP interface FTP client local file system file transfer FTP remote file
More informationCS 3516: Advanced Computer Networks
Welcome to CS 3516: Advanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am, T, R, and F Location: Fuller 320 Fall 2017 A-term 1 Some slides are originally from the course materials of the textbook
More informationChapter II: Application Layer
Chapter II: Application Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross Internet hourglass Here 2 Some network apps e-mail web
More informationFTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks
TDTS0: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se FTP Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross, Addison-Wesley. The slides
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;
More informationWWW: the http protocol
Internet apps: their protocols and transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file Internet telephony Application layer protocol smtp [RFC
More informationChapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP
Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationCC451 Computer Networks
CC451 Computer Networks Lecture 4 Application Layer (cont d) Application Layer 1 Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3,
More informationChapter 2 Application Layer
CSB051 Computer Networks 電腦網路 Chapter 2 Application Layer 吳俊興國立高雄大學資訊工程學系 Chapter 2: Outline 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS
More informationCS 43: Computer Networks. HTTP September 10, 2018
CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.
More informationApplication-layer Protocols
Application-layer Protocols Kai Shen application transport data link physical Network Applications and Application-Layer Protocols application transport data link physical application transport data link
More informationGoal and A sample Network App
Application Layer Goal and A sample Network App Write programs that run on different end systems and communicate over a network. e.g., Web: Web server software communicates with browser software Little
More informationCMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 5
CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 5 1 Any problem of your lab? Due by next Monday (Jan 29) Using Canvas? Email me cqian12@ucsc.edu
More informationElectronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol
SMTP Electronic Mail Three Components: 1. User Agents a.k.a. mail reader e.g., gmail, Outlook, yahoo 2. Mail Servers mailbox contains incoming messages for user message queue of outgoing (to be sent) mail
More informationChapter 2 Application Layer
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationApplications & Application-Layer Protocols: (SMTP) and DNS
CS 312 Internet Concepts Applications & Application-Layer Protocols: E (SMTP) and DNS Dr. Michele Weigle Department of Computer Science Old Dominion University mweigle@cs.odu.edu http://www.cs.odu.edu/~mweigle/cs312-f11
More informationSection 2: Application layer
Section 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 Socket programming with UDP 2.8 Socket
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2013 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Project 1 Python HTTP Server Work day: Next Tuesday (Sept 24 th ) Due Thursday, September 26 th by 11:55pm
More informationChapter 2. Application Layer. 2: Application Layer 1
Chapter 2 Application Layer 2: Application Layer 1 Some network apps e-mail web instant messaging remote login P2P file sharing multi-user network games streaming stored video clips voice over IP real-time
More informationChapter P2P file sharing network applications 2.22 Web and HTTP 2.3 FTP DNS
Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and
More informationLecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications
Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol
More informationChapter 2 Application Layer. 2: Application Layer 1
Chapter 2 Application Layer 2: Application Layer 1 Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications
More informationComputer Networking Introduction
Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.6 Chapter 2: outline 2.1 principles of network applications app architectures
More informationCMSC 322 Computer Networks Applications and End-To- End
CMSC 322 Computer Networks Applications and End-To- End Professor Doug Szajda CMSC 332: Computer Networks Announcements Project 2 has been posted and is due Monday, February 8 (No extension!) Homework
More informationCS 43: Computer Networks. 10: Naming and DNS September 24, 2018
CS 43: Computer Networks 10: Naming and DNS September 24, 2018 Last class Distributed systems architectures Client-Server Peer-to-Peer Challenges in design Partial failures Event ordering Lecture 10 -
More informationNetwork Applications Principles of Network Applications
Network Applications Principles of Network Applications A Network application is an application running on one host and provides communication to another application running on a different host. At the
More informationComputer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ
Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
More information55:134/22C:178 Computer Communications Lecture Note Set 2 Summer 2004
Chapter 2 Application Layer Note: These slides are adapted, with permission, from copyrighted material developed by the authors of Computer Networks, a Top-Down Approach All material copyright 1996-2002
More informationELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition
ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Midterm Exam Tuesday, October 16 th Format Short answer problems No questions on programming Closed notes Closed
More information