Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECE 4450:427/527 - Computer Networks Spring 2017

Similar presentations


Presentation on theme: "ECE 4450:427/527 - Computer Networks Spring 2017"— Presentation transcript:

1 ECE 4450:427/527 - Computer Networks Spring 2017
Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 8: Application Layer Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

2 Network Applications write programs that
run on (different) end systems communicate over network e.g., web server software communicates with browser software No need to write software for network-core devices network-core devices do not run user applications applications on end systems allows for rapid app development, propagation Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

3 Processes client process: process that initiates communication
server process: process that waits to be contacted process: an instance of a program running within a host. within same host, two processes communicate using inter-process communication (defined by OS). processes in different hosts communicate by exchanging messages Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

4 Sockets process sends/receives messages to/from its socket
socket analogous to door sending process: shoves message out its door sending process relies on transport infrastructure on other side of its door, which brings message to socket at receiving process When message arrives at the host, it passes through receiving's process door (socket); receiving process will act on message A software interface: Interface between application layer and transport layer process TCP with buffers, variables socket host or server process TCP with buffers, variables socket host or server controlled by app developer Internet controlled by OS Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

5 Addressing Processes: Ports
Application processes communicate by exchanging messages across the network Web: a client browser process exchanges messages with a web server process. We need something to identify receiving and sending processes: Port numbers A web-server is identified by port 80 A mail server is identified by port 25 Port number is needed, since a host might run many network applications Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

6 Port Discovery Use well-publicized ports for different services
DNS (Domain Name System) uses port 53 uses port 25 HTTP uses port 80 Use one port as a “port-mapper” service Call 411 to learn the port of any other process Allows for dynamic allocation of ports to different services Allows for the assignment of ports to newly created services Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

7 Applications Two of the most popular—
The World Wide Web and . Broadly speaking, both of these applications use the request/reply paradigm—users send requests to servers, which then respond accordingly. Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

8 Traditional Applications
It is important to distinguish between application programs and application protocols. For example, the HyperText Transport Protocol (HTTP) is an application protocol that is used to retrieve Web pages from remote servers. There can be many different application programs—that is, Web clients like Internet Explorer, Chrome, Firefox, and Safari—that provide users with a different look and feel, but all of them use the same HTTP protocol to communicate with Web servers over the Internet. Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

9 Applications Two very widely-used, standardized application protocols:
SMTP: Simple Mail Transfer Protocol is used to exchange electronic mail. HTTP: HyperText Transport Protocol is used to communicate between Web browsers and Web servers. Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

10 Web Services So far, we just talked about traditional applications: interactions between a human and machine There is an increasing demand for direct computer-to-computer direction: Usually, come from business world Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

11 Example We order a book from Amazon
Once book is shipped, we are able to track via Fedex.com But we are also able to track its directly from Amazon: Amazon needs to send a query to Fedex in the format Fedex understands, interpret the result, so that the result can be displayed Amazon and Fedex needs a protocol to exchange information – Package Tracking Protocol Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

12 Web Services There are so many potential protocols of this type: We will have a new problem – the Scale. It is not scale in the size of the network, but in the number of different kinds of applications We better to have some tools to simplify the task of specifying protocols and building them Two architectures have been advocated as solutions, both referred to as Web Services The name is so generic, many mistakenly assume it includes any sort of services associated with the Web. In fact, name is taken the term for the individual applications that offer a remotely-accessible service to client applications to form network applications. SOAP (Simple Object Access Protocol) & REST (Representational State Transfer) Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527

13 More Materials 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 programming with UDP Computer Networking: A Top Down Approach, 6th edition, Chapter 2. By Jim Kurose, Keith Ross Addison-Wesley, April 2012. Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527


Download ppt "ECE 4450:427/527 - Computer Networks Spring 2017"

Similar presentations


Ads by Google