ECE 4450:427/527 - Computer Networks Spring 2017

Similar documents
Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Chapter 1 Introduction

CS 3516: Advanced Computer Networks

Goal and A sample Network App

Introduction to the Application Layer. Computer Networks Term B14

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

ECE 4450:427/527 - Computer Networks

Review of Previous Lecture

CSC 4900 Computer Networks: End-to-End Design

CMSC 322 Computer Networks Applications and End-To- End

Computer Networks. Dr. Abdel Ilah ALshbatat Dept. of Communication and Computer Engineering Faculty of Engineering Tafila Technical University

CS 3516: Advanced Computer Networks

Chapter 2 Application Layer

Chapter 2 Application Layer

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Chapter 2 Application Layer

Chapter 2: Application layer

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa

Chapter 2 Application Layer

Computer Systems and Networks

CSC358 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

Chapter II: Application Layer

EECS 3214: Computer Network Protocols and Applications

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Different Layers Lecture 21

Application Layer Protocols

Client/Server Computing & Socket Programming

ECE 4400:427/527 - Computer Networks Spring 2017

Computer Communication Networks Socket Programming

Chapter 2 Application Layer

Chapter 1 Introduction

DATA COMMUNICATOIN NETWORKING

Chapter 2 Application Layer

SMTP. George Porter CSE 124 February 12, 2015

EEC-484/584 Computer Networks

Application Layer: HTTP

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

Chapter 2 Application Layer

Lecture 11. Transport Layer (cont d) Transport Layer 1

4. The transport layer

Review for Internet Introduction

Client/Server Computing & Socket Programming

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

1. What is a Computer Network? interconnected collection of autonomous computers connected by a communication technology

Networking Fundamentals

TDTS06: Computer Networks

We will cover in this order: 2.1, 2.7, 2.5, 2.4, 2.2

Transport layer Internet layer

FTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks

Chapter 2 Application Layer

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

CSC 401 Data and Computer Communications Networks

Application Layer: P2P File Distribution

Chapter 3 Transport Layer

Application. Transport. Network. Link. Physical

Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I)

Chapter 3 Transport Layer

CS 43: Computer Networks. Layering & HTTP September 7, 2018

ECE 4450:427/527 - Computer Networks Spring 2017

Ethernet / TCP-IP - Training Suite Application level protocols

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

Networking Fundamentals

Java Network Programming

ECE 333: Introduction to Communication Networks Fall 2002

PLEASE READ CAREFULLY BEFORE YOU START

Foundations of Telematics

Introduction to Computer Networking

Networking and socket communica2on

Chapter 7: Multimedia Networking

Lecture (02, 03) Networking Model (TCP/IP) Networking Standard (OSI)

Chapter 3 Transport Layer

Network Architecture I

CS 204: Advanced Computer Networks

CN Assignment I. 1. With an example explain how cookies are used in e-commerce application to improve the performance.

CS 3516: Computer Networks

RSC Part III: Transport Layer 3. TCP

Course on Computer Communication and Networks. Lecture 1 Chapter 1: Introduction Part A: Internet, Protocol Layering and Data

3.2 COMMUNICATION AND INTERNET TECHNOLOGIES

Computer Networks. General Course Information. Addressing and Routing. Computer Networks 9/8/2009. Basic Building Blocks for Computer Networks

Course Overview. Internet Technology 1

RSC Part I: Introduction

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. Managing a HTTP request. transport session. Step 1 - opening transport

CS 3516: Advanced Computer Networks

Processes communicating. Network Communication. Sockets. Addressing processes 4/15/2013

Lecture 05: Application Layer (Part 02) Domain Name System. Dr. Anis Koubaa

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

CS 3516: Advanced Computer Networks

CSCD 330 Network Programming

City University of Hong Kong. Course Syllabus. offered by Department of Computer Science with effect from Semester A 2017/18

Lecture 2: Internet Structure

ECE : Fundamentals of Wireless Networking - Spring 2007

Chapter 2. Application Layer

CSC 401 Data and Computer Communications Networks

CS 3516: Computer Networks

Chapter 2 Application Layer

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

Transcription:

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 Computer Networks 1

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 Computer Networks 2

Processes 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 client process: process that initiates communication server process: process that waits to be contacted Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527 Computer Networks 3

process sends/receives messages to/from its socket socket analogous to door Sockets 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 host or server process socket TCP with buffers, variables controlled by app developer controlled by OS Internet host or server process socket TCP with buffers, variables Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527 Computer Networks 4

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 Computer Networks 5

Port Discovery Use well-publicized ports for different services DNS (Domain Name System) uses port 53 Email 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 Computer Networks 6

Applications Two of the most popular The World Wide Web and Email. 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 Computer Networks 7

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 Computer Networks 8

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 Computer Networks 9

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

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 Computer Networks 11

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 Computer Networks 12

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, 6 th edition, Chapter 2. By Jim Kurose, Keith Ross Addison-Wesley, April 2012. Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527 Computer Networks 13