Lecture 2 Dr. Richard Spillman Fall 2009

Slides:



Advertisements
Similar presentations
HyperText Transfer Protocol (HTTP)
Advertisements

Application Layer-11 CSE401N: Computer Networks Lecture-4 Application Layer Overview HTTP.
Chapter 2: Application Layer
HyperText Transfer Protocol (HTTP) Computer Networks Computer Networks Spring 2012 Spring 2012.
Introduction to Management Information Systems Chapter 5 Data Communications and Internet Technology HTM 304 Fall 07.
9/16/2003-9/18/2003 The Application Layer and Java Programming September 16-18, 2003.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
Web, HTTP and Web Caching
1 K. Salah Module 2.1: Application Layer Application-level protocols provide high-level services –Web and HTTP –DNS –Electronic mail –Remote login –FTP.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
PL-IV- Group A HTTP Request & Response Header
CS 3830 Day 7 Introduction : Application Layer 2 Processes communicating Process: program running within a host. r within same host, two processes.
FTP (File Transfer Protocol) & Telnet
Mail (smtp), VoIP (sip, rtp)
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
2: Application Layer1 CS 4244: Internet Software Development Dr. Eli Tilevich.
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
20-1 Last time □ NAT □ Application layer ♦ Intro ♦ Web / HTTP.
2: Application Layer1 Internet apps: their protocols and transport protocols Application remote terminal access Web file transfer streaming multimedia.
Week 11: Application Layer1 Web and HTTP First some jargon r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,…
2: Application Layer1 Web and HTTP First some jargon Web page consists of base HTML-file which includes several referenced objects Object can be HTML file,
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
World-wide-web o Tim Berners-Lee implements his childhood Enquire “2.0” o It took off because it could do hypertext on the internet! o 3 crucial components:
Sockets process sends/receives messages to/from its socket
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
1 HTTP EECS 325/425, Fall 2005 September Chapter 2: Application layer r 2.1 Principles of network applications m app architectures m app requirements.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
1-1 HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr request.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
World Wide Web r Most Web pages consist of: m base HTML page, and m several referenced objects addressed by a URL r URL has two components: host name and.
Data Communication EDA344, DIT420 Description of Lab 1 and Optional Programming HTTP Assignment Bapi Chatterjee Prajith R G.
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
Lecture 5 Internet Core: Protocol layers. Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP 
2: Application Layer 1 Chapter 2 Application Layer These ppt slides are originally from the Kurose and Ross’s book. But some slides are deleted and added.
Data Communication EDA344, DIT420 Description of Lab 1 and Optional Programming HTTP Assignment Aras Atalar Prajith R G.
Application Layer Dr. Adil Yousif Lecture 2 CS.
Chapter 2: Application Layer
Block 5: An application layer protocol: HTTP
Part 0: Networking Review
Slides taken from: Computer Networking by Kurose and Ross
Application layer 1 Principles of network applications 2 Web and HTTP
04 - World Wide Web (WWW) 2: Application Layer.
COMP2322 Lab 2 HTTP Steven Lee Feb. 8, 2017.
Internet transport protocols services
OSI Protocol Stack Given the post man exemple.
Networking for Home and Small Businesses – Chapter 6
Chapter 2 Application Layer
Introduction to Networks
Networking for Home and Small Businesses – Chapter 6
Computer Communication & Networks
I. Basic Network Concepts
Web Design & Development
EEC-484/584 Computer Networks
لایه ی کاربرد مظفر بگ محمدی 2: Application Layer.
CS 5565 Network Architecture and Protocols
Data Communication EDA344, DIT420 Description of Lab 1 and Optional Programming HTTP Assignment Aras Atalar Prajith R G 24/01/2018.
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
EEC-484/584 Computer Networks
EEC-484/584 Computer Networks
The Application Layer: HTTP
Networking for Home and Small Businesses – Chapter 6
Chapter 2: Application Layer
CS1652 September 4th, 2012 Jack Lange University of Pittsburgh
Presentation transcript:

Lecture 2 Dr. Richard Spillman Fall 2009 NETWORKS Lecture 2 Dr. Richard Spillman Fall 2009

OUTLINE Network Structures Application Layer

Network Structures

The Internet For this all to work everyone must be on the same page Local ISP Server Router millions of connected computing devices: hosts, end-systems running network apps communication links routers: forward packets (chunks) of data thru network protocols: control sending, receiving of messages TCP, IP, HTTP, FTP, PPP Home systems Regional ISP Company Network For this all to work everyone must be on the same page

The Enormity of the Problem Home systems Local ISP Server Router Regional ISP Company Network SUN IBM What we have going is a vast network consisting of different hardware and varied software and they all have to transparently communicate with each other Lucent MAC Cisco Cisco Cisco Gateway Cisco Nortel Nortel Dell Dell Silicon Graphics HP

Protocols To make this all work, everything must follow a common protocol Define the format Order of messages sent and received Actions taken on message transmission or receipt Request connection Request response

The Network Core Home systems Local ISP Server Router Regional ISP Company Network The first question is: How is the data transmitted through the network? This is the function of the network core, the set of routers There are two modes of operation Circuit Switching: set up a dedicated path Packet Switching: data sent through the net in “discrete” packages

Circuit Switching Set a fixed path through the routers: Home systems Local ISP Server Router Regional ISP Company Network Source Set a fixed path through the routers: Destination

Packet Switching Each data stream is divided into packets Home systems Local ISP Server Router Regional ISP Company Network Each data stream is divided into packets Packets travel in a store and forward mode Packets hop from one router to another Wait their turn at each router before making a hop

Where did this come from? Protocol Layers Home systems Local ISP Server Router Regional ISP Company Network Where did this come from? Where does It go? What does It need? Networks are extremely complex and there is little hope that their structure could be organized so it is not feasible to just pass data between hosts Want a communication link These questions can only be answered by the packet itself

Why Layers? Application Transport Network Link Physical All the answers are added to the data to form the required packet as it is sent out onto the internet The way in which the information is added is modeled by a layer process The Internet Layer Model has 5 segments Application Transport Network Link Physical The model makes it easier to discuss the different actions and makes it easier to modify one layer without affecting the others

Layer Tasks application: supporting network applications ftp, smtp, http transport: host-host data transfer tcp, udp (reliable delivery, rate regulation) network: routing of datagrams from source to destination ip, routing protocols link: data transfer between neighboring network elements ppp, ethernet, wireless, multiple access protocols physical: bits “on the wire”

Logical Communication Each node interacts with components of the layers D Physical Link Network Transport Application Physical Link Network T D Physical Link Network Transport Application For example consider the transport layer Ack Accept data from the application layer Add addressing & reliability check information Send a “datagram” to its peer Wait for ack

Physical Communication What is really happening: Physical Link Network Transport Application D T D Physical Link Network T D N T D N T D L N T D N T D L N T D L N T D D Physical Link Network Transport Application T D N T D L N T D

Layer Structures Each layer has a specific application and carries specific information to communicate with a peer layer on another system As a result of this configuration model, it is possible to discuss each layer separately New features can be added to a layer without affecting other layers The operation of a layer can be understood without involving the other layers Application Transport Network Link Physical

Application Layer

Application Layer Application Layer Standards allow two application programs to work together, even if they come from different vendors For example, browser on user PC and webserver application program on webserver Common Application Layer programs Hypertext Transfer Protocol (HTTP) File Transfer Protocol (FTP) Name service (DNS) Telnet Rlogin Network File System (NFS) Simple Mail Transfer Protocol (SMTP) Post Office Protocol 3 (POP3) News

Internet Applications Common Internet applications have defined protocols: Application e-mail remote terminal access Web file transfer streaming multimedia remote file server layer protocol smtp [RFC 821] telnet [RFC 854] http [RFC 2068] ftp [RFC 959] proprietary (e.g. RealNetworks) NSF Underlying transport protocol TCP TCP or UDP

http Application Protocol

www: the http protocol client/server model PC running Explorer Server running NCSA Web server Mac running Navigator http request http response client/server model client: browser that requests, receives, “displays” WWW objects server: WWW server sends objects in response to requests http request http response

What really happens . . . 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 WWW server (http server) TCP connection closed

www.someSchool.edu server Example Suppose the user enters the URL www.someSchool.edu/someDepartment/home.index www.someSchool.edu server Sends http request message TCP connection request on Port 80 TCP connection accepted Response message including requested object Server closes TCP port

http Message Format two types of http messages: request, response http request message: ASCII (human-readable format) request line (GET, POST, HEAD commands) GET /somedir/page.html HTTP/1.1 Connection: close User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (extra carriage return, line feed) header lines Carriage return, line feed indicates end of message

http Request Header The application layer adds the http request header:

http Reply Format status line (protocol status code status phrase) HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ... header lines data, e.g., requested html file

http Reply Codes In the first line of the server to client reply 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

Try it for yourself . . . 1. Telnet to your favorite WWW server: telnet www.plu.edu 80 Opens TCP connection to port 80 (default http server port) at www.plu.edu 2. Type in a GET http request: By typing this in (hit carriage return twice), you send this minimal (but complete) GET request to http server GET /~spillmrj HTTP/1.1 3. Look at response message sent by http server!

http Cookies server sends “cookie” to client in response Set-cookie: # client present cookie in later requests cookie: # server matches presented-cookie with server-stored cookies authentication remembering user preferences, previous choices

http Conditional Interaction Goal: don’t send object if client has up-to-date stored (cached) version client: specify date of cached copy in http request If-modified-since: <date> server: response contains no object if cached copy up-to-date: HTTP/1.0 304 Not Modified

Web Cache client Proxy server http request http response origin Goal: Satisfy client request without involving the original server user sets browser: WWW accesses via web cache client sends all http requests to web cache if object at web cache, web cache immediately returns object in http response else requests object from origin server, then returns http response to client

Why Web Caching? origin servers public Internet institutional network 10 Mbps LAN 1.5 Mbps access link cache Assume: cache is “close” to client (e.g., in same network) smaller response time: cache “closer” to client decrease traffic to distant servers link out of institutional/local ISP network often bottleneck