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

Similar documents
Web, HTTP and Web Caching

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

CMSC 332 Computer Networking Web and FTP

Review of Previous Lecture

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

HyperText Transfer Protocol

When the ACK message arrives at the client, it computes an RTT sample and then immediately sends the next message.

CS 455/555 Spring 2011 Weigle

Information Network Systems The application layer. Stephan Sigg

CSC 4900 Computer Networks:

b) The browser is running HTTP version 1.1, as indicated just before the first <cr><lf> pair.

Computer Networks. Wenzhong Li. Nanjing University

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

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

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

Chapter 2 Application Layer

b) The browser is running HTTP version 1.1, as indicated just before the first <cr><lf> pair.

Computer Network 2015 Mid-Term Exam.

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

Lab 2. All datagrams related to favicon.ico had been ignored. Diagram 1. Diagram 2

Chapter 2 Application Layer

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

Computer Systems and Networks

Application Protocols and HTTP

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

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

Applications & Application-Layer Protocols: The Web & HTTP

Chapter 2 Application Layer

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

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

CS4/MSc Computer Networking. Lecture 3: The Application Layer

Service commands: RETR, STOR, STOU, APPE, ALLO, REST, RNFR, RNTO, ABOR, DELE, RMD, MRD, PWD, LIST, NLST, SITE, SYST, STAT, HELP, NOOP.

Layered Model. DoD Model. ISO/OSI Model

Chapter 2. Application Layer

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

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

Foundations of Telematics

SCS3004 Networking Technologies Application Layer Protocols

Chapter 2: Application layer

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

Application Layer: HTTP

DATA COMMUNICATOIN NETWORKING

CSCD 330 Network Programming Spring 2018

Internet applications

EECS 3214: Computer Network Protocols and Applications

WWW: the http protocol

Notes beforehand... For more details: See the (online) presentation program.

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

Review for Internet Introduction

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

Content Delivery on the Web: HTTP and CDNs

M3-R3: INTERNET AND WEB DESIGN

c) With the selective repeat protocol, it is possible for the sender to receive an ACK for a packet that falls outside of its current window.

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 10: Application Layer

Application Level Protocols

CSC 401 Data and Computer Communications Networks

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

Announcements. The World Wide Web. Retrieving From the Server. Goals of Today s Lecture. The World Wide Web. POP3 Protocol

The World Wide Web. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

CSCI-1680 WWW Rodrigo Fonseca

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Applications & Application-Layer Protocols: The Web & HTTP

Application Layer Introduction; HTTP; FTP

Traditional Web Based Systems

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

Application Layer. Applications and application-layer protocols. Goals:

Networking Fundamentals

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

Chapter 27 WWW and HTTP Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

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

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

Project 2 Group Project Implementing a Simple HTTP Web Proxy

Chapter 2 Application Layer

Lecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Networking Fundamentals

Fachgebiet Technische Informatik, Joachim Zumbrägel

Outline of Lecture 3 Protocols

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1

Computer Networks and Applications

Data Communication EDA344, DIT420 Description of Lab 1 and Optional Programming HTTP Assignment

Chapter 2 Application Layer

CS 43: Computer Networks. HTTP September 10, 2018

Q U E S T I O N 3 In the current version of IP (IPv4), the use of TCP and UDP headers differ in which of the following ways?

Network Applications and the Web

Introduction to Internet, Web, and TCP/IP Protocols SEEM

COSC4377. Chapter 2: Outline

ECE697AA Lecture 2. Today s lecture

Wireshark Lab: HTTP SOLUTION

Project 2 Implementing a Simple HTTP Web Proxy

Computer Networks - A Simple HTTP proxy -

Application layer. Some network apps. Client-server architecture. Hybrid of client-server and P2P. Pure P2P architecture. Creating a network app

DNS and HTTP. A High-Level Overview of how the Internet works

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

CSCI-1680 WWW Rodrigo Fonseca

Homework 2 assignment for ECE374 Posted: 02/20/15 Due: 02/27/15

TCP/IP Networking Basics

Application Layer Chapter 2

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN

Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0

Transcription:

Computer Network Homework#1 COMPUTER NETWORK Homework #1 Due Date: March 29, 2017 in class Question 1 What is the role of HTTP in a network application? What other components are needed to complete a Web application? HTTP is an application layer protocol for transferring documents (i.e., web pages) and the objects referenced therein. The HTTP protocol only provides the functions to request and retrieve files. Another necessary component to realize a Web application is a document format that describes a hypertext. This allows a web browser to understand what objects need to be requested after a web page has been downloaded, for instance, images to be displayed next to some text. The standard format for the Web is the Hyper Text Markup Language (HTML). Question 2 What does a stateless protocol mean? Is IMAP stateless? What about SMTP? A protocol is called stateless when it does not keep any information about the clients during one or more communication sessions; otherwise, it is known as stateful. In other words, each request sent by a client using a stateless protocol can be interpreted independently of others. IMAP is not stateless (i.e., it is stateful), as it remembers user information (for instance, what messages have been read) across different sessions (see also Section 3 of RFC 3501). SMTP is stateful too (see Section 2.3.6 of RFC 5321). Question 3 Telnet into a Web server and send a multiline request message. Include in the request message : header line to force a response

message with the status code. Telnet is not available in Windows 7 by default. to make it available, go to Control Panel, Programs and Features, Turn Windows Features On or Off, Check Telnet client. To start Telnet, in Windows command prompt, issue the following command > telnet webserverver 80 where "webserver" is some webserver. After issuing the command, you have established a TCP connection between your client telnet program and the web server. Then type in an HTTP GET message. An example is given below: Question 4 Assume a BitTorrent tracker suddenly becomes unavailable. What are its consequences? Can files still be downloaded? If the BitTorrent tracker becomes unavailable, no new downloads can be started. In fact, a peer cannot obtain the list of neighbors to download chunks from. However, ongoing downloads can still continue, as peers have a list of neighbors already. This list may become quickly outdated but downloads can progress at least for a short time. Question 5 Consider the following string of ASCII characters that were captured by Wireshark when the browser sent an HTTP GET message (i.e., this is the actual content of an HTTP GET message). The characters are carriage return and line-feed characters (that is, the italized character string in the text below represents the single carriagereturn character that was contained at that point in the HTTP header). Answer the

following questions, indicating where in the HTTP GET message below you find the answer. a. What is the URL of the document requested by the browser? b. What version of HTTP is the browser running? c. Does the browser request a non-persistent or a persistent connection? d. What is the IP address of the host on which the browser is running? e. What type of browser initiates this message? Why is the browser type needed an HTTP request message? a) The document request was http://gaia.cs.umass.edu/cs453/index.html. The Host : field indicates the server's name and /cs453/index.html indicates the file name. b) The browser is running HTTP version 1.1, as indicated just before the first <cr><lf> pair. c) The browser is requesting a persistent connection, as indicated by the Connection: keepalive. d) This is a trick question. This information is not contained in an HTTP message anywhere. So there is no way to tell this from looking at the exchange of HTTP messages alone. One would need information from the IP datagrams (that carried the TCP segment that carried the HTTP GET request) to answer this question. e) Mozilla/5.0. The browser type information is needed by the server to send different versions of the same object to different types of browsers. Question 6. The text below shows the reply sent from the server in response to the HTTP GET message in the question above. Answer the following questions, indicating where in the message below you find the answer.

a. Was the server able to successfully find the document or not? What time was the document reply provided? b. When was the document last modified? c. How many bytes are there in the document being returned? d. What are the first 5 bytes of the document being returned? Did the server agree to a persistent connection? a) The status code of 200 and the phrase OK indicate that the server was able to locate the document successfully. The reply was provided on Tuesday, 07 Mar 2008 12:39:45 Greenwich Mean Time. b) The document index.html was last modified on Saturday 10 Dec 2005 18:27:46 GMT. c) There are 3874 bytes in the document being returned. d) The first five bytes of the returned document are : <!doc. The server agreed to a persistent connection, as indicated by the Connection: Keep-Alive field Question 7 Assume you request a webpage consisting of one document and five images. The document size is 1 kbyte, all images have the same size of 50 kbytes, the download rate is 1 Mbps, and the RTT is 100 ms. how long does it take to obtain the whole webpage under the following conditions? (Assume no DNS name query is needed and the impact of the request line and the headers in the HTTP messages is negligible) a. Nonpersistent HTTP with serial connections.

b. Nonpersistent HTTP with two parallel connections. c. Nonpersistent HTTP with six parallel connections. d. Persistent HTTP with one connection. The total download time is: a. 2 100 ms + 8 103 bits / 106 bits/s + 5 (2 100 ms + 4 105 bits / 106 bits/s) = 3.208 s b. 2 100 ms + 3 (4 105 bits / 106 bits/s) = 1.4 s c. 2 100 ms + 4 105 bits / 106 bits/s = 0.6 s d. 2 100 ms + 8 103 bits / 106 bits/s + 5 (4 105 bits / 106 bits/s) = 2.208 s