Application Layer Introduction; HTTP; FTP

Similar documents
Application Layer: HTTP

Review of Previous Lecture

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

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

Introduction to the Application Layer. Computer Networks Term B14

Chapter 2 Application Layer

Information Network Systems The application layer. Stephan Sigg

DATA COMMUNICATOIN NETWORKING

Chapter 2 Application Layer

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

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

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

The Application Layer: & SMTP

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

HyperText Transfer Protocol

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

The Application Layer HTTP and FTP

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen

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

Different Layers Lecture 21

Matt Terwilliger. Networking Crash Course

Application Level Protocols

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

Computer Networks. Wenzhong Li. Nanjing University

CS118 Discussion Week 2. Taqi

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

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

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

EECS 3214: Computer Network Protocols and Applications

CMPE 151: Network Administration. Servers

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

Application Layer Protocols

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

Internet applications

Computer Systems and Networks

Internet Technology 3/2/2016

Network Applications Principles of Network Applications

Application Protocols and HTTP

CMSC 332 Computer Networking Web and FTP

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

ECE697AA Lecture 2. Today s lecture

Chapter 2: Application layer

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

PLEASE READ CAREFULLY BEFORE YOU START

Applications & Application-Layer Protocols: The Web & HTTP

Review for Internet Introduction

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

CS132/EECS148 - Instructor: Karim El Defrawy Midterm Spring 2013 Time: 1hour May 2nd, 2013

CS454/654 Midterm Exam Fall 2004

Introduc)on to Computer Networks

Networking and Internetworking 1

CMSC 322 Computer Networks Applications and End-To- End

Foundations of Telematics

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

Chapter 2 Application Layer

PLEASE READ CAREFULLY BEFORE YOU START

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary

CMPE 80N: Introduction to Networking and the Internet

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

Networked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

CMSC 332 Computer Networks P2P and Sockets

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

NT1210 Introduction to Networking. Unit 10

Transport Layer (TCP/UDP)

Data Communication & Computer Networks MCQ S

OSI Transport Layer. objectives

Goal and A sample Network App

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Advanced Java Programming. Networking

CSCI-1680 WWW Rodrigo Fonseca

Network Applications and the Web

3. WWW and HTTP. Fig.3.1 Architecture of WWW

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10

Experimental Evaluation of Transport Services CoAP, HTTP and SPDY for Internet of Things

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

PLEASE READ CAREFULLY BEFORE YOU START

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

BEng. (Hons) Telecommunications. Examinations for / Semester 2

Fundamentals of Computer Networking AE6382

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

Project 1: Web Client and Server

CS 3516: Advanced Computer Networks

ECE 333: Introduction to Communication Networks Fall 2002

CSCI-1680 WWW Rodrigo Fonseca

Chapter 2. Application Layer

COMPUTER NETWORK. Homework #1. Due Date: March 29, 2017 in class

The client-server model

CSCI 466 Midterm Networks Fall 2013

REST. Lecture BigData Analytics. Julian M. Kunkel. University of Hamburg / German Climate Computing Center (DKRZ)

COMS3200/7201 Computer Networks 1 (Version 1.0)

TSIN02 - Internetworking

Networking Fundamentals

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

A taste of HTTP v1.1. additions. HTTP v1.1: introduces many complexities no longer an easy protocol to implement. G.Bianchi, G.Neglia, V.

CS348: Computer Networks (SMTP, POP3, IMAP4); FTP

Computer Network Programming. The Transport Layer. Dr. Sam Hsu Computer Science & Engineering Florida Atlantic University

Transcription:

Application Layer Introduction; HTTP; FTP Tom Kelliher, CS 325 Feb. 4, 2011 1 Administrivia Announcements Assignment Read 2.4 2.6. From Last Time Packet-switched network characteristics; protocol layers and models. Outline 1. Introduction to the application layer. 2. HTTP protocol. 3. FTP protocol. Coming Up SMTP, DNS, and P2P. 1

2 Application Layer Introduction Internet applications have an abstract Internet view: 2

2.1 Internet Application Architectures The Internet has an architecture; so do applications. 1. Client-Server architecture (a) Well-defined roles. (b) Infrastructure intensive server farms. Expensive. (c) Always on (d) Hierarchical, centralized (ironic) scalability problems, isolation vulnerabilities. (e) Examples: Google, Amazon, etc. 3

2. Peer-To-Peer Architecture (a) Roles not so well-defined. (b) Not infrastructure intensive. Cheap. (c) Sometimes on. (d) Flat, decentralized scales well, less vulnerable. (e) May have some centralization features. (f) Examples: BitTorrent, LimeWire, Skype. 2.2 Process Communication 1. Request messages (from client), response messages (from server). 4

2. The Transport Layer provides the socket API: 2.3 Transport Service Properties Two key Transport Layer protocols: 1. TCP is a connection-oriented service with reliable data transfer. The connection must be established before messages can be sent. Uses congestion control. 2. UDP is a connectionless service with no data transfer reliability packets can be lost, arrive out of order, or be duplicated. Just throw messages out there. No congestion control. Properties: 1. Reliable data transfer (TCP, not UDP). 2. Throughput (neither has any guarantees). 3. Latency (neither has any guarantees). UDP has less overhead, an advantage. 5

4. Security (neither has security built in). Layer SSL over TCP for security. Streaming media uses buffering to mitigate some of these problems. Realtime applications may use UDP to reduce latency. Service access: 1. By IP address, port number. 2. A service on a host listens for service requests at a well-known address its service port. Example ports: 13, daytime (TCP and UDP); 20, ftp data; 21, ftp control; 25, SMTP; 80, HTTP; 443, HTTPS. Properties of various network applications: 6

Protocol use of various network applications: 3 HTTP Protocol 1. HTTP uses client-server architecture: 2. HTTP is stateless. 3. A single web page can contain several objects. How do we minimize load time? Persistent and non-persistent TCP connections. Multiple, parallel TCP connections. 7

4. HTTP client methods: GET, HEAD, PUT, POST, DELETE. HTTP client request format: 5. HTTP server response format: 8

6. Example exchange: bluebird:~ % telnet phoenix http Trying 10.32.3.39... Connected to phoenix. Escape character is ^]. GET / HTTP/1.1 Host: phoenix.goucher.edu HTTP/1.1 200 OK Date: Sun, 03 Feb 2008 20:40:29 GMT Server: Apache/2.0.52 (Red Hat) Accept-Ranges: bytes Cache-Control: max-age=3600 Expires: Sun, 03 Feb 2008 21:40:29 GMT Transfer-Encoding: chunked Content-Type: text/html; charset=iso-8859-1 19f <HTML> <HEAD> <TITLE>Welcome to Phoenix!</TITLE>... </BODY> </HTML> 9

0 Connection closed by foreign host. 7. Cookies allow association with state information: This provides a single- or multi-session layer on top of stateless HTTP. 8. Proxy servers can be used to lessen congestion at a bottleneck: 10

Client browsers are configured to send all requests to the proxy, which caches web objects. The proxy makes the real requests, on behalf of the clients. 4 FTP Protocol HTTP and FTP are both basically file transfer protocols. What are the differences? 1. FTP elements: 11

2. FTP uses out-of-band control signaling: 3. FTP retains session state information: login, current directory, idle time. More overhead because of statefullness 4. ASCII and binary data transfers. 5. Transfer modes: (a) Active: client opens a random data port, sends port number to server over control connection, which connects to client at given port (role reversal). Problems result if there s a firewall at the client. (b) Passive: server opens a random data port, sends port number to client over control connection, which connects to server at given port number. 12