Problem Set 4 Due: Start of class, October 5

Size: px
Start display at page:

Download "Problem Set 4 Due: Start of class, October 5"

Transcription

1 CS242 Computer Networks Handout # 8 Randy Shull September 28, 2017 Wellesley College Problem Set 4 Due: Start of class, October 5 Reading: Kurose & Ross, Sections 2.5, 2.6, 2.7, 2.8 Problem 1 [4]: Free-riding Suppose Bob joins a BitTorrent torrent, but he does not want to upload any data to any other peers (so called freeriding). a [2]: Bob claims that he can receive a complete copy of the file that is shared by the swarm. Is Bob s claim possible? Why or why not? b [2]: Bob also claims that he can make his free-riding more efficient by using a collection of multiple computer (with distinct IP addresses) in the computer lab in his department. ow can he do that? Problem 2 [2]: UDP versus TCP The UDP server described in lecture and the text needed only one socket, whereas the TCP server needed two sockets. Why? If the TCP server were to support n simultaneous connections, each from a different client host, how many sockets would the TCP server need? Problem 3 [5]: Sockets Image that you compiled and installed the programs 1 TCPClient and UDPClient on one host and TCPServer and UDPServer on another host. a [2]: Client first TCP Suppose you run TCPClient before you run TCPServer. What happens? Why? b [2]: Client first UDP Suppose you run UDPClient before you run UDPServer. What happens. Why? c [1]: Port numbers What happens if you use different port numbers for the client and server sides. 1 As discussed in lecture. 1

2 Problem 4 [4]: clientsocket.bind Suppose that in the UDPClient.py, after we create the socket, we add the line: clientsocket.bind((, 5432)) Will it become necessary to change the UDPServer.py? What are the port numbers for the sockets in UDPClient and UDPServer? What were they before making this change? Problem 5 [12] Develop a web server in Python that handles one HTTP request at a time. Your web server should accept and parse a single HTTP request, get the requested file from the servers file system, create an HTTP response message consisting of the requested file preceded by header lines, and then send the response directly to the client. If the requested file is not present in the server, the server should send an HTTP 404 Not Found message back to the client. Skeleton code for the Web server is given below. You are to complete the skeleton code. The places where you need to fill in code are marked with Fill in start and Fill in end. Each place may require one or more lines of code. Put an HTML file (e.g., HelloWorld.html) in the same directory that the server is in. Run the server program. Determine the IP address of the host that is running the server (e.g., ). From another host, open a browser and provide the corresponding URL. For example: HelloWorld.html is the name of the file you placed in the server directory. Note also the use of the port number after the colon. You need to replace this port number with whatever port you have used in the server code. In the above example, we have used the port number The browser should then display the contents of HelloWorld.html. If you omit :6789, the browser will assume port 80 and you will get the web page from the server only if your server is listening at port 80. Then try to get a file that is not present at the server. You should get a 404 Not Found message. Hand in a copy of the complete server code along with the screen shots of your client browser, verifying that you actually receive the contents of the HTML file from the server. 2

3 Skeleton Python Code for the Web Server #import socket module from socket import * # Create a TCP server socket # (AF_INET is used for IPv4 protocols) # (SOCK_STREAM is used for TCP) serversocket = socket(af_inet, SOCK_STREAM) # Prepare a server socket # Fill in start # Fill in end while True: #Establish the connection print Ready to serve... # Set up a new connection from the client connectionsocket, addr = #Fill in start #Fill in end # If an exception occurs during the execution of try clause # the rest of the clause is skipped # If the exception type matches the word after except # the except clause is executed try: # Receives the request message from the client message = #Fill in start #Fill in end # Extract the path of the requested object from the message # The path is the second part of HTTP header, identified by [1] filename = message.split()[1] # Because the extracted path of the HTTP request includes # a character \, we read the path from the second character f = open(filename[1:]) 3

4 # Store the entire contenet of the requested file in a temporary buffer outputdata = #Fill in start #Fill in end #Send one HTTP header line into socket #Fill in start #Fill in end #Send the content of the requested file to the client for i in range(0, len(outputdata)): connectionsocket.send(outputdata[i]) connectionsocket.close() except IOError: #Send response message for file not found #Fill in start #Fill in end #Close client socket #Fill in start #Fill in end serversocket.close() A simple HTML page If your HTML is a bit rust, here s a very simple web page that will get the job done. 2 <HTML> <HEAD> <TITLE> My first HTML document </TITLE> </HEAD> <BODY> Hello world! </BODY> </HTML> 2 And you don t need much more cause the server will only serve up a single file. See the extra credit exercise. 4

5 Problem 6 [4]: Extra Credit Currently, the web server handles only one HTTP request at a time. Implement a multithreaded server that is capable of serving multiple requests simultaneously. Using threading, first create a main thread in which your modified server listens for clients at a fixed port. When it receives a TCP connection request from a client, it will set up the TCP connection through another port and services the client request in a separate thread. There will be a separate TCP connection in a separate thread for each request/response pair. 5

Lab Assignment 3 for ECE374

Lab Assignment 3 for ECE374 Lab Assignment 3 for ECE374 Posted: 02/25/18 Due: 03/08/18 In this lab, we ll take a quick look at the UDP and TCP transport protocol. Whenever possible you should hand in a Wireshark screenshot that you

More information

Chapter II: Application Layer

Chapter II: Application Layer Chapter II: Application Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross Internet hourglass Here 2 Some network apps e-mail web

More information

Problem Set 9 Due: Start of class, December 4

Problem Set 9 Due: Start of class, December 4 CS242 Computer Networks Handout # 18 Randy Shull November 27, 2017 Wellesley College Problem Set 9 Due: Start of class, December 4 Reading: Kurose & Ross, Sections 6.1 through 6.5 Wireshark Lab [16] In

More information

BITS-Pilani Hyderabad Campus

BITS-Pilani Hyderabad Campus BITS-Pilani Hyderabad Campus CS C461/IS C461/CS F303/ IS F303 (Computer Networks) Laboratory 4 Aim: To give an introduction to Socket Programming in TCP and UDP. TCP Socket Programming: A socket is the

More information

Problem Set 6 Due: Start of Class, October 26

Problem Set 6 Due: Start of Class, October 26 CS242 Computer Networks Handout # 12 Randy Shull October 19, 2017 Wellesley College Problem Set 6 Due: Start of Class, October 26 Reading: Kurose & Ross, Sections 3.4, 3.5 Wireshark Lab [11] This exercise

More information

Computer Communication Networks Socket Programming

Computer Communication Networks Socket Programming Computer Communication Networks Socket Programming ICEN/ICSI 416 Fall 2018 Prof. Aveek Dutta 1 Application Programming Interface Interface exported by the network Since most network protocols are implemented

More information

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

We will cover in this order: 2.1, 2.7, 2.5, 2.4, 2.2 CSE 422 Notes, Set 2 These slides contain materials provided with the text: Computer Networking: A Top Down Approach,5 th edition, by Jim Kurose and Keith Ross, Addison-Wesley, April 2009. Additional figures

More information

Application Programming Interfaces

Application Programming Interfaces Application Programming Interfaces The TCP/IP protocol suite provides only the protocols that can be used by processes to communicate across a network. Though standarized, how these protocols are implemented

More information

Problem Set 7 Due: Start of Class, November 2

Problem Set 7 Due: Start of Class, November 2 CS242 Computer Networks Handout # 14 Randy Shull October 26, 2017 Wellesley College Problem Set 7 Due: Start of Class, November 2 Reading: Kurose & Ross, Sections 3.6, 3.7, 3.8 Wireshark Lab [26] In these

More information

Network Programming in Python. based on Chun, chapter 2; plus material on classes

Network Programming in Python. based on Chun, chapter 2; plus material on classes Network Programming in Python based on Chun, chapter 2; plus material on classes What is Network Programming? Writing programs that communicate with other programs Communicating programs typically on different

More information

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

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP Chapter 2: outline 2.1 principles of network applications app architectures app requirements 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

More information

Computer Networks CS3516 B Term, 2013

Computer Networks CS3516 B Term, 2013 Computer Networks CS3516 B Term, 2013 Project 1 Project Assigned: October 31 Checkpoint: November 07 12:01 AM Due: November 14 12:01 AM Networks - Project 1 1 What You Will Do In This Project. The purpose

More information

Problem Set 8 Due: Start of Class, November 16

Problem Set 8 Due: Start of Class, November 16 CS242 Computer Networks Handout # 16 Randy Shull November 9, 2017 Wellesley College Problem Set 8 Due: Start of Class, November 16 Reading: Kurose & Ross, Sections 4.1-4.4 Problem 1 [10]: Short answer

More information

Advanced Web Programming

Advanced Web Programming Advanced Web Programming 1 Advanced Web Programming what we have covered so far 2 The SocketServer Module simplified development of network servers a server tells clients the time 3 A Forking Server instead

More information

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

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 6 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 6 1 Midterm room for overflow students The students who used my registration code to enroll

More information

Review of Previous Lecture

Review of Previous Lecture Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose

More information

Chapter 2: outline. 2.1 principles of network applications. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Chapter 2: outline. 2.1 principles of network applications. 2.6 P2P applications 2.7 socket programming with UDP and TCP Chapter 2: outline 2.1 principles of network applications app architectures app requirements 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

More information

===================================================================== Exercises =====================================================================

===================================================================== Exercises ===================================================================== ===================================================================== Exercises ===================================================================== 1 Chapter 1 1) Design and describe an application-level

More information

Chapter 2: Application Layer. Chapter 2: application layer. outline. Some network apps. Client-server architecture. Application architectures

Chapter 2: Application Layer. Chapter 2: application layer. outline. Some network apps. Client-server architecture. Application architectures Chapter 2: Application Layer Chapter 2: layer outline 2.1 principles of s 2.2 Web and HTTP 2.3 electronic, POP3, IMAP 2.4 socket programming with UDP and TCP our goals: conceptual, implementation aspects

More information

Client/Server Computing & Socket Programming

Client/Server Computing & Socket Programming COMP 431 Internet Services & Protocols Client/Server Computing & Socket Programming Jasleen Kaur January 29, 2019 Application-Layer Protocols Overview Application-layer protocols define:» The types of

More information

The Application Layer: Sockets Wrap-Up

The Application Layer: Sockets Wrap-Up The Application Layer: Sockets Wrap-Up CSC 249 February 8, 2018 slides mostly from J.F Kurose and K.W. Ross,copyright 1996-2012 1 Socket Overview q Examples with socket-api programming q Differences between

More information

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

Data Communication EDA344, DIT420 Description of Lab 1 and Optional Programming HTTP Assignment Data Communication EDA344, DIT420 Description of Lab 1 and Optional Programming HTTP Assignment Aras Atalar Prajith R G 24/01/2018 Overview Lab 1 (Compulsory): WIRESHARK lab General Description Programming

More information

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2018 CSCD 330 Network Programming Spring 2018 Lecture 6 Application Layer Socket Programming in Java Reading for Java Client/Server see Relevant Links Some Material in these slides from J.F Kurose and K.W.

More information

Overview. Exercise 0: Implementing a Client. Setup and Preparation

Overview. Exercise 0: Implementing a Client. Setup and Preparation Overview This Lab assignment is similar to the previous one, in that you will be implementing a simple clientserver protocol. There are several differences, however. This time you will use the SOCK_DGRAM

More information

First Semester Examinations 2013/14 (Model Solution) INTERNET PRINCIPLES

First Semester Examinations 2013/14 (Model Solution) INTERNET PRINCIPLES PAPER CODE NO. EXAMINER : Martin Gairing COMP211 DEPARTMENT : Computer Science Tel. No. 0151 795 4264 First Semester Examinations 2013/14 (Model Solution) INTERNET PRINCIPLES TIME ALLOWED : Two Hours INSTRUCTIONS

More information

Introduction to Computer Networking

Introduction to Computer Networking Introduction to Computer Networking Antonio Carzaniga Faculty of Informatics University of Lugano September 17, 2014 Outline General course information Program Preliminary schedule Intro to computer networking:

More information

Communication in Distributed Systems: Sockets Programming. Operating Systems

Communication in Distributed Systems: Sockets Programming. Operating Systems Communication in Distributed Systems: Sockets Programming Operating Systems TCP/IP layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets

More information

Computer Networks COMPUTER NETWORKS

Computer Networks COMPUTER NETWORKS SEMESTER V COMPUTER NETWORKS Subject Code IA Marks 20 Number of Lecture Hours/Week 4 Exam Marks 80 Total Number of Lecture Hours 50 Exam Hours 03 CREDITS 04 Course objectives: This course will enable students

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

More information

The Application Layer: Sockets Wrap-Up

The Application Layer: Sockets Wrap-Up The Application Layer: Sockets Wrap-Up CSC 249 February 13, 2018 slides mostly from J.F Kurose and K.W. Ross,copyright 1996-2012 1 Overview qreview the Socket API vdefined for UNIX v Used by most operating

More information

First Semester Examinations 2015/16 (Model Solution) INTERNET PRINCIPLES

First Semester Examinations 2015/16 (Model Solution) INTERNET PRINCIPLES PAPER CODE NO. EXAMINER : Martin Gairing COMP211 DEPARTMENT : Computer Science Tel. No. 0151 795 4264 First Semester Examinations 2015/16 (Model Solution) INTERNET PRINCIPLES TIME ALLOWED : Two Hours INSTRUCTIONS

More information

A set of processes distributed over a network that communicate via messages. Processes communicate via services offered by the operating system

A set of processes distributed over a network that communicate via messages. Processes communicate via services offered by the operating system SOCKET Network applications A set of processes distributed over a network that communicate via messages Ex: Browser Web, BitTorrent, ecc Processes communicate via services offered by the operating system

More information

CS 43: Computer Networks. 07: Concurrency and Non-blocking I/O Sep 17, 2018

CS 43: Computer Networks. 07: Concurrency and Non-blocking I/O Sep 17, 2018 CS 43: Computer Networks 07: Concurrency and Non-blocking I/O Sep 17, 2018 Reading Quiz Lecture 5 - Slide 2 Today Under-the-hood look at system calls Data buffering and blocking Inter-process communication

More information

Wireshark Lab: HTTP SOLUTION

Wireshark Lab: HTTP SOLUTION Wireshark Lab: HTTP SOLUTION Supplement to Computer Networking: A Top-Down Approach, 7th ed., J.F. Kurose and K.W. Ross 2005-2012, J.F Kurose and K.W. Ross, All Rights Reserved The following screen shots

More information

Chapter 2: outline. 2.1 principles of network applications app architectures app requirements

Chapter 2: outline. 2.1 principles of network applications app architectures app requirements Chapter 2: outline 2.1 principles of network applications app architectures app requirements 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

More information

COMS3200/7201 Computer Networks 1 (Version 1.0)

COMS3200/7201 Computer Networks 1 (Version 1.0) COMS3200/7201 Computer Networks 1 (Version 1.0) Assignment 3 Due 8pm Monday 29 th May 2017. V1 draft (hopefully final) Note that the assignment has three parts Part A, B & C, each worth 50 marks. Total

More information

LECTURE 10. Networking

LECTURE 10. Networking LECTURE 10 Networking NETWORKING IN PYTHON Many Python applications include networking the ability to communicate between multiple machines. We are going to turn our attention now to the many methods of

More information

Application Layer: P2P File Distribution

Application Layer: P2P File Distribution Application Layer: P2P File Distribution EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 29-Jan-18 1-1 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP

More information

Network Programming in Python. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island

Network Programming in Python. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Network Programming in Python Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Transmission Control Protocol (TCP) Connection-oriented Two

More information

CSE 333 Lecture server sockets

CSE 333 Lecture server sockets CSE 333 Lecture 18 -- server sockets Hal Perkins Department of Computer Science & Engineering University of Washington Administrivia HW4 posted now, due last Thursday of the quarter Exercise covering client-side

More information

Web Server Project. Tom Kelliher, CS points, due May 4, 2011

Web Server Project. Tom Kelliher, CS points, due May 4, 2011 Web Server Project Tom Kelliher, CS 325 100 points, due May 4, 2011 Introduction (From Kurose & Ross, 4th ed.) In this project you will develop a Web server in two steps. In the end, you will have built

More information

Problem Set 10 Due: Start of class December 11

Problem Set 10 Due: Start of class December 11 CS242 Computer Networks Handout # 20 Randy Shull December 4, 2017 Wellesley College Problem Set 10 Due: Start of class December 11 Reading: Kurose & Ross, Sections 7.1 7.3, 8.1 8.4 Wireshark Lab [16] Recall

More information

Lecture 2. Outline. Layering and Protocols. Network Architecture. Layering and Protocols. Layering and Protocols. Chapter 1 - Foundation

Lecture 2. Outline. Layering and Protocols. Network Architecture. Layering and Protocols. Layering and Protocols. Chapter 1 - Foundation Lecture 2 Outline Wireshark Project 1 posted, due in a week Lab from a different textbook Work through the lab and answer questions at the end Chapter 1 - Foundation 1.1 Applications 1.2 Requirements 1.3

More information

SOCKET. Valerio Di Valerio

SOCKET. Valerio Di Valerio SOCKET Valerio Di Valerio The Problem! Communication between computers connected to a network Network Network applications! A set of processes distributed over a network that communicate via messages!

More information

CSE 333 Lecture server sockets

CSE 333 Lecture server sockets CSE 333 Lecture 15 -- server sockets Steve Gribble Department of Computer Science & Engineering University of Washington Administrivia HW3 out later this week We will have 2 exercises this week - today

More information

Contents: 1 Basic socket interfaces 3. 2 Servers 7. 3 Launching and Controlling Processes 9. 4 Daemonizing Command Line Programs 11

Contents: 1 Basic socket interfaces 3. 2 Servers 7. 3 Launching and Controlling Processes 9. 4 Daemonizing Command Line Programs 11 nclib Documentation Release 0.7.0 rhelmot Apr 19, 2018 Contents: 1 Basic socket interfaces 3 2 Servers 7 3 Launching and Controlling Processes 9 4 Daemonizing Command Line Programs 11 5 Indices and tables

More information

Sockets 15H2. Inshik Song

Sockets 15H2. Inshik Song Sockets 15H2 Inshik Song Internet CAU www server (www.cau.ac.kr) Your web browser (Internet Explorer/Safari) Sockets 2 How do we find the server? Every computer on the Internet has an Internet address.

More information

Lecture 05: Application Layer (Part 02) FTP, Peer-to-Peer, . Dr. Anis Koubaa

Lecture 05: Application Layer (Part 02) FTP, Peer-to-Peer,  . Dr. Anis Koubaa NET 331 Computer Networks Lecture 05: Application Layer (Part 02) FTP, Peer-to-Peer, Email Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth Edition by Kurose

More information

Overview. Exercise 0: Implementing a Client. Setup and Preparation

Overview. Exercise 0: Implementing a Client. Setup and Preparation Overview This Lab assignment is similar to the previous one, in that you will be implementing a simple client server protocol. There are several differences, however. This time you will use the SOCK_DGRAM

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Internet and Intranet Protocols and Applications Lecture 4: Application Layer 3: Socket Programming Spring 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu Chapter 2

More information

Introduction to Python Network Programming for Network Architects and Engineers

Introduction to Python Network Programming for Network Architects and Engineers Introduction to Python Network Programming for Network Architects and Engineers Vince Kelly TSA Session ID: DEVNET-1040 Agenda Python Basics The Python Socket Module Security Higher Layer Protocols & APIs:

More information

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

Homework 2 assignment for ECE374 Posted: 02/20/15 Due: 02/27/15 ECE374: Homework 2 1 Homework 2 assignment for ECE374 Posted: 02/20/15 Due: 02/27/15 ote: In all written assignments, please show as much of your work as you can. Even if you get a wrong answer, you can

More information

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

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach Chapter 2 Application Layer Lecture 4: principles of network applications Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Chapter

More information

CSCD 330 Network Programming

CSCD 330 Network Programming CSCD 330 Network Programming Lecture 9 Transport Layer Winter 2019 Reading: Begin Chapter 3 Some Material in these slides from J.F Kurose and K.W. Ross All material copyright 1996-2007 1 Outline Overview

More information

CS164 Final Exam Winter 2013

CS164 Final Exam Winter 2013 CS164 Final Exam Winter 2013 Name: Last 4 digits of Student ID: Problem 1. State whether each of the following statements is true or false. (Two points for each correct answer, 1 point for each incorrect

More information

Interprocess communication in shared memory systems. Interprocess communcation. Berkeley Sockets

Interprocess communication in shared memory systems. Interprocess communcation. Berkeley Sockets Interprocess communcation slide 1 slide 2 Interprocess communication in shared memory systems in Operating systems we find there are a number of mechanisms used for interprocess communication (IPC) the

More information

CS 43: Computer Networks. HTTP September 10, 2018

CS 43: Computer Networks. HTTP September 10, 2018 CS 43: Computer Networks HTTP September 10, 2018 Reading Quiz Lecture 4 - Slide 2 Five-layer protocol stack HTTP Request message Headers protocol delineators Last class Lecture 4 - Slide 3 HTTP GET vs.

More information

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes

More information

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?

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? Preview Test: HW 2 Test Information Description Chapter 2 Instructions Due:Oct. 17 5 PM Multiple Attempts Not allowed. This test can only be taken once. Force Completion This test can be saved and resumed

More information

CEN5501 Computer Networks Project Description

CEN5501 Computer Networks Project Description Due Date: April 21, 2008 CEN5501 Computer Networks Project Description Project Overview In this project, you are asked to write a P2P file sharing software similar to BitTorrent. You can complete the project

More information

Foundations of Telematics

Foundations of Telematics Foundations of Telematics Chapter 2 Application Layer Principles of network applications Important application protocols Using sockets Acknowledgement: These slides have been prepared by J.F. Kurose and

More information

CSE 43: Computer Networks Structure, Threading, and Blocking. Kevin Webb Swarthmore College September 14, 2017

CSE 43: Computer Networks Structure, Threading, and Blocking. Kevin Webb Swarthmore College September 14, 2017 CSE 43: Computer Networks Structure, Threading, and Blocking Kevin Webb Swarthmore College September 14, 2017 1 Agenda Under-the-hood look at system calls Data buffering and blocking Processes, threads,

More information

CSC209H Lecture 9. Dan Zingaro. March 11, 2015

CSC209H Lecture 9. Dan Zingaro. March 11, 2015 CSC209H Lecture 9 Dan Zingaro March 11, 2015 Socket Programming (Kerrisk Ch 56, 57, 59) Pipes and signals are only useful for processes communicating on the same machine Sockets are a general interprocess

More information

Web Client And Server

Web Client And Server Web Client And Server Project Part A Overview In this part of the project, you and your partner will build a simple web client and a succession of servers to which it can connect. The goal is to slowly

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.6 Chapter 2: outline 2.1 principles of network applications app architectures

More information

CS 344/444 Spring 2008 Project 2 A simple P2P file sharing system April 3, 2008 V0.2

CS 344/444 Spring 2008 Project 2 A simple P2P file sharing system April 3, 2008 V0.2 CS 344/444 Spring 2008 Project 2 A simple P2P file sharing system April 3, 2008 V0.2 1 Introduction For this project you will write a P2P file sharing application named HiP2P running on the N800 Tablet.

More information

CSCI 466 Midterm Networks Fall 2013

CSCI 466 Midterm Networks Fall 2013 CSCI 466 Midterm Networks Fall 2013 Name: This exam consists of 6 problems on the following 7 pages. You may use your single-sided hand-written 8 ½ x 11 note sheet and a calculator during the exam. No

More information

Interprocess communcation

Interprocess communcation Interprocess communcation slide 1 in Operating systems we find there are a number of mechanisms used for interprocess communication (IPC) the IPC mechanisms can be divided into two groups, those which

More information

Program Assignment 2

Program Assignment 2 Program Assignment 2 CMSC 417 Fall 2014 September 16, 2014 1 Deadline September 30, 2014. 2 Objective In this assignment you will write the server program which will communicate using sockets with the

More information

CS214 - Advanced UNIX

CS214 - Advanced UNIX CS214 - Advanced UNIX Lecture 10 - Networking continued. Documents Uses material from Ymir Vigfusson The Python Documentation (http://docs.python.org) CS214 p. 1 Privileges Recall that UNIX has a superuser

More information

Distributed Systems. Networking Slides courtesy Kurose & Ross

Distributed Systems. Networking Slides courtesy Kurose & Ross Distributed Systems Networking Slides courtesy Kurose & Ross Agenda Computer networks, primarily from an application perspective Protocol layering Client-server architecture End-to-end principle TCP Socket

More information

Socket Programming for TCP and UDP

Socket Programming for TCP and UDP CSCI4430 Data Communication and Computer Networks Socket Programming for TCP and UDP ZHANG, Mi Jan. 19, 2017 Outline Socket Programming for TCP Introduction What is TCP What is socket TCP socket programming

More information

Application Protocols and HTTP

Application Protocols and HTTP Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due

More information

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

Networked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers Networked Applications: Sockets CS 375: Computer Networks Spring 2009 Thomas Bressoud 1 Goals of Todayʼs Lecture Client-server paradigm End systems Clients and servers Sockets and Network Programming Socket

More information

Computer Network 2015 Mid-Term Exam.

Computer Network 2015 Mid-Term Exam. Computer Network 2015 Mid-Term Exam. Question : ``Basic of Computer Networks and the Internet' Please fill into the blanks (15%) a) The amount of time required to push all of a packet s bits into a link

More information

CS 1110, LAB 3: STRINGS; TESTING

CS 1110, LAB 3: STRINGS; TESTING CS 1110, LAB 3: STRINGS; TESTING http://www.cs.cornell.edu/courses/cs1110/2017sp/labs/lab03.pdf First Name: Last Name: NetID: Getting Credit: Deadline: the first 10 minutes of (your) lab two weeks from

More information

Networking. Chapter How to identify machines on internet Ports

Networking. Chapter How to identify machines on internet Ports Chapter 1 Networking Computer networks allow communication between multiple computers, regardless of their physical location. Internet provides us with an infrastructure that allows computers to interact

More information

Computer Networks Prof. Ashok K. Agrawala

Computer Networks Prof. Ashok K. Agrawala CMSC417 Computer Networks Prof. Ashok K. Agrawala 2018Ashok Agrawala September 6, 2018 Fall 2018 Sept 6, 2018 1 Overview Client-server paradigm End systems Clients and servers Sockets Socket abstraction

More information

Computer Security II Lab Network Security

Computer Security II Lab Network Security Computer Security II Lab Network Security Setup Boot lab machine into Windows. In Windows Explorer, navigate to \\evs2\compga02\ and download the three Virtual Machines clientvm1819.zip, servervm1819.zip

More information

Lecture 9a: Sessions and Cookies

Lecture 9a: Sessions and Cookies CS 655 / 441 Fall 2007 Lecture 9a: Sessions and Cookies 1 Review: Structure of a Web Application On every interchange between client and server, server must: Parse request. Look up session state and global

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Application Layer Video Streaming, CDN and Sockets Sec 2.6 2.7 Prof. Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network

More information

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

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. Managing a HTTP request. transport session. Step 1 - opening transport Lecture 2-ter. 2 A communication example Managing a HTTP v1.0 connection Managing a HTTP request User digits URL and press return (or clicks ). What happens (HTTP 1.0): 1. opens a TCP transport session

More information

Client/Server Computing & Socket Programming

Client/Server Computing & Socket Programming CPSC 852 Intering Client/Server Computing & Socket Programming Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852

More information

Transport Layer. Chapter 3: Transport Layer

Transport Layer. Chapter 3: Transport Layer Transport Layer EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 29-Jan-18 1-1 Chapter 3: Transport Layer our goals: understand principles behind layer services: multiplexing,

More information

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

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer Midterm Study Sheet Below is a list of topics that will be covered on the midterm exam. Some topics may have summaries to clarify the coverage of the topic during the lecture. Disclaimer: the list may

More information

Computer Networking Course Introduction

Computer Networking Course Introduction Computer Networking Course Introduction Antonio Carzaniga Faculty of Informatics Università della Svizzera italiana September 20, 2017 Outline General course information Program Preliminary schedule Intro

More information

Application Layer. CMPS 4750/6750: Computer Networks

Application Layer. CMPS 4750/6750: Computer Networks Application Layer CMPS 4750/6750: Computer Networks 1 Agenda Principles of Network Applications Case Studies Web and HTTP Email Domain Name System (DNS) Peer-to-Peer File Sharing Socket Programming with

More information

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

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng. CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail SMTP, POP3, IMAP DNS

More information

Configure Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) Service Settings on a Switch

Configure Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) Service Settings on a Switch Configure Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) Service Settings on a Switch Objective Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are transportation

More information

CSC 4900 Computer Networks: P2P and Sockets

CSC 4900 Computer Networks: P2P and Sockets CSC 4900 Computer Networks: P2P and Sockets Professor Henry Carter Fall 2017 Recap SMTP is the language that mail servers use to exchange messages. SMTP is push-based... why? You can run SMTP from a telnet

More information

CSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1

CSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1 CSMC 412 Computer Networks Prof. Ashok K Agrawala 2015 Ashok Agrawala Set 2 September 15 CMSC417 Set 2 1 Contents Client-server paradigm End systems Clients and servers Sockets Socket abstraction Socket

More information

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

Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0 Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0 CCNET v6 10 Chapter 10 - Sections & Objectives 10.1 Application Layer Protocols Explain the operation of the application

More information

Pemrograman Jaringan Web Client Access PTIIK

Pemrograman Jaringan Web Client Access PTIIK Pemrograman Jaringan Web Client Access PTIIK - 2012 In This Chapter You'll learn how to : Download web pages Authenticate to a remote HTTP server Submit form data Handle errors Communicate with protocols

More information

Unit 5: Computer Networking CS 101, Fall 2018

Unit 5: Computer Networking CS 101, Fall 2018 Unit 5: Computer Networking CS 101, Fall 2018 Learning Objectives After completing this unit, you should be able to: Describe the physical structure of the Internet (routers, cables). Define CSMA/CD, CSMA/CA,

More information

Note: Who is Dr. Who? You may notice that YARN says you are logged in as dr.who. This is what is displayed when user

Note: Who is Dr. Who? You may notice that YARN says you are logged in as dr.who. This is what is displayed when user Run a YARN Job Exercise Dir: ~/labs/exercises/yarn Data Files: /smartbuy/kb In this exercise you will submit an application to the YARN cluster, and monitor the application using both the Hue Job Browser

More information

Networked Applications: Sockets. End System: Computer on the Net

Networked Applications: Sockets. End System: Computer on the Net Networked Applications: Sockets Topics Programmer s view of the Internet Sockets interface End System: Computer on the Net Internet Also known as a host 2 Page 1 Clients and Servers Client program Running

More information

The Application Layer HTTP and FTP

The Application Layer HTTP and FTP The Application Layer HTTP and FTP File Transfer Protocol (FTP) Allows a user to copy files to/from remote hosts Client program connects to FTP server provides a login id and password allows the user to

More information

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

CS 43: Computer Networks. Layering & HTTP September 7, 2018 CS 43: Computer Networks Layering & HTTP September 7, 2018 Last Class: Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network:

More information

Application Layer -1- Network Tools

Application Layer -1- Network Tools EITF25 Internet: Technology and Applications Application Layer -1- Network Tools 2013, Lecture 06 Kaan Bür, Stefan Höst Previously on EITF25 Transport Layer Addressing above IP Ports, sockets Process-to-process

More information

ECE 435 Network Engineering Lecture 2

ECE 435 Network Engineering Lecture 2 ECE 435 Network Engineering Lecture 2 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 6 September 2018 Announcements Homework 1 will be posted. Will be on website, will announce

More information