Homework 3 CSC/ECE , Fall, 2016

Size: px
Start display at page:

Download "Homework 3 CSC/ECE , Fall, 2016"

Transcription

1 Homework 3 CSC/ECE , Fall, 2016 Every question requires response in one or more of the following ways. If the question, in part or whole, requires textual response, include your response to it in an electronic document. Submit a single electronic document (text or PDF) for a homework, in accordance with rules detailed on the course website. For a question that also requires coding, you must also submit your code and build instructions in a single zip file, again refer to the course website for instructions. You may submit one zip file per such question, or zip them all into one file, but in the latter case you must make subdirectories for the different questions. If a question requires programming multiple modules or programs (for example, to run on different computers), in your zip file for that program, the source and build instructions for these should be clearly separated into directories, and an overall README file should provide information as to which modules should be run on what environment. For example, Q6 below asks you to specify the description of a protocol implemented by supplied programs, and also to recode them to specs. The answers to the questions should go into the single PDF or text file you submit, together with answers to other questions. The code with build instructions should go into a zip file. Submit the PDF/text and zipfile(s) to the WolfWare locker. Some of the questions may refer to library and system calls on Linux systems. You must obtain the answers by looking up reference information on actual programming platforms, such as man pages and -- help options. The platform must be a VCL platform; for each answer, you must include specific information (what VCL image, if it is VCL; what OS and version, if some other platform) about the platform it applies to. For Q5 Q8, you must use some Linux platform available on VCL that allows you to both program using Java and C/C++. VCL provides images that are appropriate platforms for the socket programming exercises. In particular, using a Ubuntu base image should work (you may have to run sudo aptget update and sudo apt-get install openjdk-7-jdk first). You must still include information about the platform as above. 1. (Ungraded) Follow the entire process specified in the How-to OPNET document on the course website. (While this exercise is not graded, future homeworks will included graded OPNET exercises that will require you to have the background that the current exercise will provide. 2. What is the meaning of the third parameter (length) for the C library socket call send()? 3. What is the difference between the Java classes Socket and ServerSocket? Does C provide library functions to cover the functionality of both of these classes? If so, how? 4. What is the meaning of the second parameter (backlog) for the C library socket call listen()? How does the Java package java.net provide the functionality equivalent to listen()? How does Python?

2 5. This and the next few questions refer to the UDP and TCP client and server sample programs in C and Java that have been posted on the website. Make sure you can compile and run the programs on your VCL platform of choice. All the clients have the same behavior: read a line of text from the command line, send it to the server, and display whatever the server sends back. While the clients and servers on the same protocol written in the same programming language are matched, the servers all provide slightly different services, and have different behavior. State, in a single sentence each, what each server does. 6. As we can verify by trying to run the various clients and servers mis-matched against each other, they do not all implement the same application protocol, and therefore do not work successfully with each other. (a) For each server, describe the application protocol it implements. This should include what it expects in terms of format and content for the data incoming from the client, and similarly its reply. Your description should be brief, but sufficiently precise that it should be possible to use it as a standard to code a client that can successfully interact with each server. (b) Recode the original UDP server written in C to implement the same application layer protocol as the original UDP server written in Java. Validate the operation by running the original UDP Client written in Java against both the original Java server and your modified C server, and verifying that the behavior observed by the client is indistinguishable. (c) Recode the original UDP client written in Java to implement the same application layer protocol as the original UDP client written in C. Validate the operation by running both the original C client and your modified Java client against the original C server, and verifying that the behavior is indistinguishable. 7. The stream orientation of TCP can create pitfalls for applications if the application protocol fails to take note of the fact that TCP may send data in whatever units it deems appropriate, irrespective of how much the application writes into the socket at a time. Since all the programs are based on the client reading a single line of input from the user, and sending it to the server, it is reasonable to assume that the entire application PDU consists of a single NULL-terminated string (i.e. a string of bytes, each of which other than the last encodes an ASCII or UNICODE character, and the last byte has the value zero). But TCP may not send this entire string in one TCP PDU. Of the sample TCP programs supplied, some sidestep this issue by handing over the task of reading to and writing from a socket to some string handling class, and using matched calls to such classes on both the client and server. This is brittle, since it makes it difficult or impossible to program a client or server compliant to this standard using a platform or language on which that precise class is unavailable. The application programmer, when using such a call, may not be aware whether the function call automatically adds a null character at the end of a string or not, or a newline character, or a carriage-return/linefeed.

3 Others among the sample programs simply assume that the entire application PDU will be in a single TCP packet. This is plain wrong, since TCP s behavior cannot be controlled in this respect. (a) Among the sample TCP programs, which ones, if any, result in NOT sending a NULL character terminating the string? (b) Which ones, if any, make the error of assuming a single TCP socket read will suffice? (c) Which ones, if any, correctly incorporate the application protocol? (d) Recode all the programs that either sidestep or are erroneous so that they correctly implement the application protocol. 8. Develop a program or multiple programs that allow you to send packets to servers running on specific hosts, then use them to transmit data as follows. There is one UDP server and one TCP server, both with the same application layer PDU standard, and you must successfully transmit a single application PDU to each of the two. In each case, the server is running on a host with IP address , and is reachable on port The application PDU is described below. In addition, the UDP server exepcts the entire application PDU to be embedded in a single UDP packet. (Note: The machine on which this server is running has most other network ports blocked by a firewall. Thus ping or other network probes cannot be expected to succeed. Your only way of verifying that the server is up is to send something to it, and received back the response as specified below.) The first four bytes of the application PDU must be the bytes representing the corresponding UNICODE or ANSI characters N, C, S and U. The next nine bytes must be similarly byte encodings of the characters in the string representation of your 9- digit student ID. (Note: They must be the character encodings rather than the actual number. For example, if your student ID is , then the first byte must not have the value 9, but rather the value 57, which is the ANSI encoding for 9.) (Note: These first two fields of the message appear to be like strings, but they are NOT null-terminated. If a null is inserted, it would be misinterpreted by the server as the first byte of the next field.) (Note: Unlike memory data structures or files, once you write a byte into a socket, you cannot go back and take it back or write over it, obviously.) The next four bytes should be your 9-digit student ID expressed as a 4-byte number. Depending on your programming platform of choice, this may be an int, a long, an unsigned long, or some similar data type. However, the server expects to receive the 4 bytes making up this number in the order of most significant byte first. (Note: This ordering of bytes is often called the network byte order, because this is the standard ordering for programs to exchange data. A standard is needed since different platforms vary in how they locally store multi-byte numbers. So called BIG_ENDIAN systems store numbers so that the MSB is in the lowest address, whereas systems that store the LSB in the lowest address space are called LITTLE_ENDIAN. Since transmission typically occurs from the lowest address up think of how strings are transmitted the network byte order corresponds to BIG_ENDIAN. Macros such as ntohs(), htons() etc. provide easy ways for the application programmer to always ensure network byte order without having to know the byte ordering of the platform that the code will be running on read the manual pages of these for details on how to use them.)

4 (Note: sizeof() is a handy function to find out how many bytes make up a particular data type, such as int, on your local platform.) The rest of the application PDU must be a single null-terminated string, with the following information as string in the following format: <Your name>\n<your 9- digit student ID>\n<The dotted decimal representation of the IP address you are sending from>\n<the port number you are sending from>\ncsc \n<Current date and time on your system in mm/dd/yyyy hh:mm format>\n. (The \n indicates the UNIX newline character.) When the server prints it out, it should look like the following: Rudra Dutta CSC /7/ :43 It is also acceptable to have the date format 09/07/2016. (Note: The null termination at the end of this string is the only way the server knows that the APDU is concluded. If you send data to the server that does not so terminate, you can hang the server, or at least the thread servicing you. Please aim to avoid this.) Neither the UDP nor the TCP server will accept an application PDU of more than 1000 bytes from the socket, so your program should ensure this is what the server receives. In each case, the server will send back a string Server received and archived <X> bytes of transmitted data, which your program should receive from the socket, where X is the number of bytes the server read in total. If you receive any other string, or receive nothing, then your transmission did not succeed, and you should re-try, after checking your program for errors. Since servers as well as server programs can have temporary problems, or there may be network problems, a failure does not necessarily indicate a problem in your program. 9. In this question, you will set up and conduct an experiment on ExoGENI. You may access GENI from anywhere on the Internet, but to avoid needless extra effort in key management etc., I suggest that for this initial short set of exercises, you use any one platform with a stable network connection, and complete the whole exercise from there. First, re-read the how-to document, which has been updated with more information. The only changes are that Appendices B and C have been added. You must read Appendix B, which specifies the rack you are allowed to use. Appendix C is very useful to work through, but will take a little time and effort. Some of you will choose to defer it until you do a more complex ExoGENI exercise, but you will have to complete it sooner or later. Next, read and perform the online tutorial at You will have done part of this for the previous homework already, so make sure to not to repeat steps you obviously should not repeat. Then make sure that you can do the rest of the tutorial. This part of this question is ungraded no deliverables need be submitted. Then continue with the following exercise. Using Flukes, your objective is to create the same simple 4-node path topology as you did in Q7 of Homework 2, this time creating VMs, creating virtual links, and assigning IP addresses to virtual interfaces as necessary.

5 Once you have done so, perform the same procedure as in that previous question, and submit the output of each step. (Note: While working on GENI, you may face a confusing complication. ExoGENI VMs will always have one more network interface than you specify in your slice design this is the management interface that the ExoGENI SM uses to provision and control the VM. Under certain circumstances, this interface may be visible to you. Depending on whether all your VMs come from the same aggregate or different aggregates, all the VMs may be directly connected to each other using the management backplane thus connectivity experiments will fail they will always seem to be connected and reachable. To avoid this, make sure you are pinging the IP addresses that you assigned to the interfaces you created not the management interfaces. Typically the management interfaces will have 10. addresses we suggest you use completely different addresses for the interfaces you create using Flukes, and make sure to ping those.) 10. Consider the interconnected LAN shown in Figure 1 (adapted from Tanenbaum). Assume that hosts a and b are on LAN 1, c is on LAN 2, and d is on LAN 8. Initially, hash tables in all bridges are empty and the spanning tree shown in Part (b) of the Figure is used. Show how the hash tables of different bridges change after each of the following events happen in sequence (i.e. first (a) happens, then (b) happens, and so on). (Just show the mapping created by the hash tables, you need not consider the hashing.) (a) d sends to a (b) a sends to c (c) d sends to c (d) The bridge D malfunctions, and a new spanning tree is established by the bridges automatically by activating the minimum number of inactive bridges possible (assume no other bridge can sense the failure and their hash tables remain unchanged by this event) state what bridges are now active (e) d sends to a Figure 1 Provide your answer in a table such as the following. Only include entries for which a bridge has an actual hash table entry.

6 After part Bridge Has hash table entry for Pointing to port Host connected to LAN (a) A b? (b) c? d? B 11. (Tanenbaum, 5.40) A large number of consecutive IP addresses are available starting at for allocation using CIDR blocks. Suppose that four organizations, A, B, C and D, request 4000, 2000, 4000 and 2000 addresses, respectively and in that order. The allocating authority always assigns the earliest possible valid block to any request. (a) For each of these, give the first IP address assigned, the last IP address assigned, and the mask in the w.x.y.z/s notation. (b) Later it is found that all of them need to be forwarded to the same router, anyway. Can any of them be aggregated?

Homework 3 CSC , Spring, 2016

Homework 3 CSC , Spring, 2016 Homework 3 CSC453-001, Spring, 2016 Instructions in previous homeworks also apply to this one. For a coding question that requires coding your BBBK, you also need to be able to demonstrate, upon demand,

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

Intro to OpenFlow Tutorial

Intro to OpenFlow Tutorial GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight GENI: geni Intro to OpenFlow Tutorial Overview: This is a simple OpenFlow tutorial that will guide you how to use the Floodlight Controller in conjunction

More information

Intro to OpenFlow Tutorial

Intro to OpenFlow Tutorial 5/24/2015 GENIExperimenter/Tutorials/OpenFlowOVS GENI: geni Intro to OpenFlow Tutorial Overview: This is a simple OpenFlow tutorial that will guide you through the writing of simple OpenFlow controllers

More information

Virtual University of Pakistan. Describe the Hidden Node and Exposed Node problems in Standard? VUSR. [Larry L. Peterson]

Virtual University of Pakistan. Describe the Hidden Node and Exposed Node problems in Standard? VUSR. [Larry L. Peterson] www..net Solution Assignment No. 2 Question No. 1 Describe the Hidden Node and Exposed Node problems in 802.11 Standard? Hidden Node Problem: Consider the figure below. [Larry L. Peterson] B can exchange

More information

ECE264 Fall 2013 Exam 3, November 20, 2013

ECE264 Fall 2013 Exam 3, November 20, 2013 ECE264 Fall 2013 Exam 3, November 20, 2013 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.

More information

EL2310 Scientific Programming

EL2310 Scientific Programming (yaseminb@kth.se) Overview Overview Roots of C Getting started with C Closer look at Hello World Programming Environment Discussion Basic Datatypes and printf Schedule Introduction to C - main part of

More information

Introduction to computer networking

Introduction to computer networking Introduction to computer networking First part of the assignment Academic year 2017-2018 Abstract In this assignment, students will have to implement a client-server application using Java Sockets. The

More information

COMP/ELEC 429/556 Fall 2017 Homework #1

COMP/ELEC 429/556 Fall 2017 Homework #1 COMP/ELEC 429/556 Fall 2017 Homework #1 Assigned 9/28/2017 Due 10/12/2017 11:55pm Submit Electronically to Canvas (Hard deadline, no slip day may be used) This homework is worth 10% of your final grade

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming Standards: You must conform to good programming/documentation standards. Some specifics: CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March

More information

Figure 1: Graphical representation of a client-server application

Figure 1: Graphical representation of a client-server application CS/EE 145a : Networking Lab #1 http://www.its.caltech.edu/ eecs145/ Due: October 24, 2007 1 Introduction The development of network-based software has been around for many years. Since its conception,

More information

Fall CSEE W4119 Computer Networks Programming Assignment 1 - Simple Online Bidding System

Fall CSEE W4119 Computer Networks Programming Assignment 1 - Simple Online Bidding System Fall 2012 - CSEE W4119 Computer Networks Programming Assignment 1 - Simple Online Bidding System Prof. Gil Zussman due: Wed. 10/24/2012, 23:55 EST 1 Introduction In this programming assignment, you are

More information

New York University Computer Science Department Courant Institute of Mathematical Sciences

New York University Computer Science Department Courant Institute of Mathematical Sciences New York University Computer Science Department Courant Institute of Mathematical Sciences Course Title: Data Communications & Networks Course Number: g22.2662-001 Instructor: Jean-Claude Franchitti Session:

More information

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Web Mechanisms Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Introduction While it is perfectly possible to create web sites that work without knowing any of their underlying mechanisms, web developers

More information

Project 1: Snowcast Due: 11:59 PM, Sep 22, 2016

Project 1: Snowcast Due: 11:59 PM, Sep 22, 2016 CS168 Computer Networks Fonseca Project 1: Snowcast Due: 11:59 PM, Sep 22, 2016 Contents 1 Introduction 2 2 Protocol 2 2.1 Client to Server Commands................................ 2 2.2 Server to Client

More information

CPSC 4240/6240 Spring 2017 HW # 3 v1 Last update: 3/22/2017

CPSC 4240/6240 Spring 2017 HW # 3 v1 Last update: 3/22/2017 CPSC 4240/6240 Spring 2017 HW # 3 v1 Last update: 3/22/2017 You can work individually or with a partner (we won t allow groups > 2). Note that the grading will be identical if you work on your own or with

More information

P2P Programming Assignment

P2P Programming Assignment P2P Programming Assignment Overview This project is to implement a Peer-to-Peer (P2P) networking project similar to a simplified Napster. You will provide a centralized server to handle cataloging the

More information

Programming Assignment

Programming Assignment Overview Programming Assignment In this assignment, you will program the OpenFlow controller POX and use it to implement two applications. Task 1: Firewall In this part, your task is to implement a layer-2

More information

Lab Zero: A First Experiment Using GENI and Jacks Tool

Lab Zero: A First Experiment Using GENI and Jacks Tool Lab Zero: A First Experiment Using GENI and Jacks Tool These instructions are at: http://tinyurl.com/geni labzero Overview This is a first, simple experiment on GENI useful for familiarizing new experimenters

More information

ECE 461 Internetworking Fall Quiz 1

ECE 461 Internetworking Fall Quiz 1 ECE 461 Internetworking Fall 2010 Quiz 1 Instructions (read carefully): The time for this quiz is 50 minutes. This is a closed book and closed notes in-class exam. Non-programmable calculators are permitted

More information

COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks)

COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks) COMP90015: Distributed Systems Assignment 1 Multi-threaded Dictionary Server (15 marks) Problem Description Using a client-server architecture, design and implement a multi-threaded server that allows

More information

Overview. Setup and Preparation. Exercise 0: Four-way handshake

Overview. Setup and Preparation. Exercise 0: Four-way handshake Overview In this Lab assignment you will develop a simple client program written in Python(use a socket library) to interact with a CSE 3300 Server running on a remote machine. The server, running on the

More information

Section 1 Short Answer Questions

Section 1 Short Answer Questions CPSC 3600 section 002 HW #1 Fall 2017 Last revision: 9/7/2017 You must work on this homework individually!! Submission: You are to submit your written answers to turnitin. Also, you are to submit your

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

CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017

CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017 CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017 Important Notes Please do not start the assignment before reading these notes. Before 23:55, December 18, upload

More information

CSE 123: Computer Networks Fall Quarter, 2017 MIDTERM EXAM

CSE 123: Computer Networks Fall Quarter, 2017 MIDTERM EXAM CSE 123: Computer Networks Fall Quarter, 2017 MIDTERM EXAM Instructor: Alex C. Snoeren Name Student ID SOLUTIONS Question Score Points 1 20 20 2 20 20 3 30 30 4 20 20 5 10 10 Total 10 100 This exam is

More information

Programming Assignment 3

Programming Assignment 3 UNIVERSITY OF NEBRASKA AT OMAHA Computer Science 3550 Section 002 Communication Networks Spring 2018 Programming Assignment 3 Introduction Having created a TCP client in programming assignment 2, it s

More information

MP 1: HTTP Client + Server Due: Friday, Feb 9th, 11:59pm

MP 1: HTTP Client + Server Due: Friday, Feb 9th, 11:59pm MP 1: HTTP Client + Server Due: Friday, Feb 9th, 11:59pm Please read all sections of this document before you begin coding. In this assignment, you will implement a simple HTTP client and server. The client

More information

Lab Zero: A First Experiment Using GENI and Jacks Tool

Lab Zero: A First Experiment Using GENI and Jacks Tool GENIExperimenter/Tutorials/jacks/GettingStarted_PartI/Procedure GENI: geni 2/27/16, 14:35 Lab Zero: A First Experiment Using GENI and Jacks Tool These instructions are at: http://tinyurl.com/geni-labzero

More information

Lab Exercise Sheet 3

Lab Exercise Sheet 3 Lab Exercise Sheet 3 Document and analyze your experimental procedures by using your Wireshark and terminal recordings. Note all relevant intermediate steps. Mark and explain all relevant information,

More information

CS 118 Project Phase 2 P2P Networking

CS 118 Project Phase 2 P2P Networking CS 118 Project Phase 2 P2P Networking Due Monday, March 15 th at 11:59pm Boelter Hall 4428, Box D3/C4 and via Electronic Submission Overview In this phase you will extend your work from Phase 1 to create

More information

CS155: Computer Security Spring Project #1

CS155: Computer Security Spring Project #1 CS155: Computer Security Spring 2018 Project #1 Due: Part 1: Thursday, April 12-11:59pm, Parts 2 and 3: Thursday, April 19-11:59pm. The goal of this assignment is to gain hands-on experience finding vulnerabilities

More information

C18: Network Fundamentals and Reliable Sockets

C18: Network Fundamentals and Reliable Sockets CISC 3120 C18: Network Fundamentals and Reliable Sockets Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/16/2018 CUNY Brooklyn College 1 Outline Networking fundamentals Network

More information

GENI Tutorial with tmix Derek O'Neill UNC Chapel Hill

GENI Tutorial with tmix Derek O'Neill UNC Chapel Hill GENI Tutorial with tmix Derek O'Neill UNC Chapel Hill The purpose of this tutorial is to give an introduction on how to set up and run a simple experiment using the tmix TCP traffic generator on a GENI

More information

The TCP Protocol Stack

The TCP Protocol Stack The TCP Protocol Stack Michael Brockway February 16, 2018 Introduction - Layered archtecture Networking software is desgined in a layered fashion The bottom layer is the services offered by the underlying

More information

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.0) Network Programming using C

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.0) Network Programming using C CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.0) Network Programming using C Overview This homework is due by 11:59:59 PM on Thursday, April 26, 2018.

More information

Project 1: Remote Method Invocation CSE 291 Spring 2016

Project 1: Remote Method Invocation CSE 291 Spring 2016 Project 1: Remote Method Invocation CSE 291 Spring 2016 Assigned: Tuesday, 5 April Due: Thursday, 28 April Overview In this project, you will implement a remote method invocation (RMI) library. RMI forwards

More information

External Data Representation (XDR)

External Data Representation (XDR) External Data Representation (XDR) Prof. Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Taipei, TAIWAN NTUT, TAIWAN 1 Introduction This chapter examines

More information

false, import, new 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4

false, import, new 1 class Lecture2 { 2 3 Data types, Variables, and Operators 4 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4 5 } 6 7 // Keywords: 8 byte, short, int, long, char, float, double, boolean, true, false, import, new Zheng-Liang Lu Java Programming 44

More information

IP Addressing, monitoring and packet analyzing

IP Addressing, monitoring and packet analyzing IP Addressing, monitoring and packet analyzing CS-335a Fall 2012 Computer Science Department Manolis Surligas surligas@csd.uoc.gr 1 TCP/IP stack 2 TCP/IP stack At sending: Each layer adds information to

More information

Practical Session #09 Exceptions & Networking. Tom Mahler

Practical Session #09 Exceptions & Networking. Tom Mahler Practical Session #09 Exceptions & Networking Tom Mahler 1 In This Recitation We ll Cover Exceptions Java Sockets Datagram vs. Stream The Client-Server Model 2 Exceptions 3 Exceptions Java uses exceptions

More information

Network Test and Monitoring Tools

Network Test and Monitoring Tools ajgillette.com Technical Note Network Test and Monitoring Tools Author: A.J.Gillette Date: December 6, 2012 Revision: 1.3 Table of Contents Network Test and Monitoring Tools...1 Introduction...3 Link Characterization...4

More information

Networking By: Vince

Networking By: Vince Networking 192.168.1.101 By: Vince Disclaimer I am NOT a Networking expert you might ask questions that I don t know the answer to Networking is hard to teach but I know how to do your homeworks so that

More information

CSEE 4119: Computer Networks, Spring 2014

CSEE 4119: Computer Networks, Spring 2014 CSEE 4119: Computer Networks, Spring 2014 Programming Assignment 2: Reliable transmission and routing Due Thursday, May 8 th 11:55 pm P. Prakash, W. An, P. Nirantar, R. Yu, X. Zhu (TAs), A. Chaintreau

More information

Lab 3: Simple Firewall using OpenFlow

Lab 3: Simple Firewall using OpenFlow Lab 3: Simple Firewall using OpenFlow This lab builds on the knowledge acquired through Lab 1 where you were first introduced to the Mininet environment. It will also help you prepare for the class project.

More information

CS395/495 Computer Security Project #2

CS395/495 Computer Security Project #2 CS395/495 Computer Security Project #2 Important Dates Out: 1/19/2005 Due: 2/15/2005 11:59pm Winter 2005 Project Overview Intrusion Detection System (IDS) is a common tool to detect the malicious activity

More information

Genie Routing lab. Laboration in data communications GenieLab Department of Information Technology, Uppsala University. Overview

Genie Routing lab. Laboration in data communications GenieLab Department of Information Technology, Uppsala University. Overview Genie Routing lab Laboration in data communications GenieLab Department of Information Technology, Uppsala University Overview This lab deals with linux network setup and routing in the network layer.

More information

Reliable File Transfer

Reliable File Transfer Due date Wednesday, Mar 14, 11:59pm Reliable File Transfer CS 5565 Spring 2012, Project 2 This project is worth 100 points. You may form teams of up to two students for this project. You are not required

More information

CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 1

CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 1 CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 1 Due 11:59pm Friday October 6 Instructions: 1. Please submit your homework using the on-line electronic submission system (via

More information

TCP/IP Network Essentials

TCP/IP Network Essentials TCP/IP Network Essentials Linux System Administration and IP Services AfNOG 2012 Layers Complex problems can be solved using the common divide and conquer principle. In this case the internals of the Internet

More information

Are you ready for the tutorial? 1. Grab a worksheet and instructions 3. Connect to the network Connect to Texas A&M s wireless network 2. Did you do the pre-work? A. Do you have an account? B. Have you

More information

,879 B FAT #1 FAT #2 root directory data. Figure 1: Disk layout for a 1.44 Mb DOS diskette. B is the boot sector.

,879 B FAT #1 FAT #2 root directory data. Figure 1: Disk layout for a 1.44 Mb DOS diskette. B is the boot sector. Homework 11 Spring 2012 File Systems: Part 2 MAT 4970 April 18, 2012 Background To complete this assignment, you need to know how directories and files are stored on a 1.44 Mb diskette, formatted for DOS/Windows.

More information

Practical Exercises in Computer Networks

Practical Exercises in Computer Networks Practical Exercises in Computer Networks IP forwarding between directly connected stations, ARP and ICMP (WIP) 2015, José María Foces Morán. All rights reserved. Internet is composed of a large number

More information

PostgreSQL Database and C++ Interface (and Midterm Topics) ECE 650 Systems Programming & Engineering Duke University, Spring 2018

PostgreSQL Database and C++ Interface (and Midterm Topics) ECE 650 Systems Programming & Engineering Duke University, Spring 2018 PostgreSQL Database and C++ Interface (and Midterm Topics) ECE 650 Systems Programming & Engineering Duke University, Spring 2018 PostgreSQL Also called Postgres Open source relational database system

More information

Chapter Summaries and Reading

Chapter Summaries and Reading Chapter Summaries and Reading Some new reading for near future, particularly in preparation for Project 2. If you have not finished any chapter summaries for last night, be sure you do so soon As a general

More information

OpenFlow Firewall and NAT Devices

OpenFlow Firewall and NAT Devices OpenFlow Firewall and NAT Devices OpenFlow Firewall and NAT Devices Step by step Instructions Overview: This is a very simple tutorial with two topologies demonstrating an OpenFlow Firewall and an OpenFlow

More information

: Distributed Systems Principles and Paradigms Assignment 1 Multithreaded Dictionary Server

: Distributed Systems Principles and Paradigms Assignment 1 Multithreaded Dictionary Server 433 652: Distributed Systems Principles and Paradigms Assignment 1 Multithreaded Dictionary Server Problem Description Using a client server architecture, design and implement a multi threaded server that

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

CPSC 3600 HW #4 Solutions Fall 2017 Last update: 12/10/2017 Please work together with your project group (3 members)

CPSC 3600 HW #4 Solutions Fall 2017 Last update: 12/10/2017 Please work together with your project group (3 members) CPSC 3600 HW #4 Solutions Fall 2017 Last update: 12/10/2017 Please work together with your project group (3 members) Name: Q 1 Kurose chapter 3, review question R14 (20 points) Solution: a) false b) false

More information

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

Assignment 3: Binary numbers, data types and C Programs Due 11:59pm Monday 26th March 2018

Assignment 3: Binary numbers, data types and C Programs Due 11:59pm Monday 26th March 2018 Assignment 3: Binary numbers, data types and C Programs Due 11:59pm Monday 26th March 2018 Objectives: Using binary numbers variable declarations variable types writing simple C programs Marks for the

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

1/18/13. Network+ Guide to Networks 5 th Edition. Objectives. Chapter 10 In-Depth TCP/IP Networking

1/18/13. Network+ Guide to Networks 5 th Edition. Objectives. Chapter 10 In-Depth TCP/IP Networking Network+ Guide to Networks 5 th Edition Chapter 10 In-Depth TCP/IP Networking Objectives Understand methods of network design unique to TCP/IP networks, including subnetting, CIDR, and address translation

More information

Project #4: Implementing NFS

Project #4: Implementing NFS Project #4: Implementing NFS Distributed File Systems NFS Ports and Network Conversations Destination and Return Ports RPC-based Services Configuring Server Daemons /etc/exports autofs Sharing home directories

More information

Applied Networks & Security

Applied Networks & Security Applied Networks & Security TCP/IP Networks with Critical Analysis http://condor.depaul.edu/~jkristof/it263/ John Kristoff jtk@depaul.edu IT 263 Spring 2006/2007 John Kristoff - DePaul University 1 Critical

More information

Switch Configuration message sent 1 (1, 0, 1) 2

Switch Configuration message sent 1 (1, 0, 1) 2 UNIVESITY COLLEGE LONON EPATMENT OF COMPUTE SCIENCE COMP00: Networked Systems Problem Set istributed: nd November 08 NOT ASSESSE, model answers released: 9th November 08 Instructions: This problem set

More information

false, import, new 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4

false, import, new 1 class Lecture2 { 2 3 Data types, Variables, and Operators 4 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4 5 } 6 7 // Keywords: 8 byte, short, int, long, char, float, double, boolean, true, false, import, new Zheng-Liang Lu Java Programming 44

More information

Lab 2: Threads and Processes

Lab 2: Threads and Processes CS333: Operating Systems Lab Lab 2: Threads and Processes Goal The goal of this lab is to get you comfortable with writing basic multi-process / multi-threaded applications, and understanding their performance.

More information

IP Basics Unix/IP Preparation Course June 29, 2010 Pago Pago, American Samoa

IP Basics Unix/IP Preparation Course June 29, 2010 Pago Pago, American Samoa IP Basics Unix/IP Preparation Course June 29, 2010 Layers Complex problems can be solved using the common divide and conquer principle. In this case the internals of the Internet are divided into separate

More information

Internetworking April 13, 2006

Internetworking April 13, 2006 15-213 The course that gives CMU its Zip! Internetworking April 13, 2006 Topics Client-server programming model Networks Internetworks Global IP Internet IP addresses Domain names Connections 22-internet.ppt

More information

ACT-R RPC Interface Documentation. Working Draft Dan Bothell

ACT-R RPC Interface Documentation. Working Draft Dan Bothell AC-R RPC Interface Documentation Working Draft Dan Bothell Introduction his document contains information about a new feature available with the AC-R 7.6 + software. here is now a built-in RPC (remote

More information

Homework 2: Programming Component SCALABLE SERVER DESIGN: USING THREAD POOLS TO MANAGE AND LOAD BALANCE ACTIVE NETWORK

Homework 2: Programming Component SCALABLE SERVER DESIGN: USING THREAD POOLS TO MANAGE AND LOAD BALANCE ACTIVE NETWORK Homework 2: Programming Component SCALABLE SERVER DESIGN: USING THREAD POOLS TO MANAGE AND LOAD BALANCE ACTIVE NETWORK DUE DATE: Wednesday March 7 th, 2018 @ 5:00 pm CONNECTIONS VERSION 1.0 As part of

More information

Choice 1: audio, a simple audio client server system

Choice 1: audio, a simple audio client server system Choice 1: audio, a simple audio client server system The objective of this practice is to complete the program audiosimple which we have presented in practice 0. The new program, called audio, allows the

More information

IP Routing Volume Organization

IP Routing Volume Organization IP Routing Volume Organization Manual Version 20091105-C-1.03 Product Version Release 6300 series Organization The IP Routing Volume is organized as follows: Features IP Routing Overview Static Routing

More information

Chapter 3 - Implement an IP Addressing Scheme and IP Services to Meet Network Requirements for a Small Branch Office

Chapter 3 - Implement an IP Addressing Scheme and IP Services to Meet Network Requirements for a Small Branch Office ExamForce.com 640-822 CCNA ICND Study Guide 31 Chapter 3 - Implement an IP Addressing Scheme and IP Services to Meet Network Requirements for a Small Branch Office Describe the need and role of addressing

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EE122 MIDTERM EXAMINATION Monday, 18 October 2010 Scott Shenker INSTRUCTIONS READ

More information

CS 126 Lecture S5: Networking

CS 126 Lecture S5: Networking CS 126 Lecture S5: Networking Outline Introductions Connectivity Naming and addressing Abstractions and layering Example: socket programming Conclusions CS126 24-1 Randy Wang Review: Technology Advances

More information

CS 126 Lecture S5: Networking

CS 126 Lecture S5: Networking CS 126 Lecture S5: Networking Outline Introductions Connectivity Naming and addressing Abstractions and layering Example: socket programming Conclusions CS126 24-1 Randy Wang Review: Technology Advances

More information

Unit 5: Distributed, Real-Time, and Multimedia Systems

Unit 5: Distributed, Real-Time, and Multimedia Systems Unit 5: Distributed, Real-Time, and Multimedia Systems Unit Overview Unit 5 provides an extension to the core topics of operating systems. It introduces distributed systems and special-purpose operating

More information

Table of Contents 1 Static Routing Configuration 1-1

Table of Contents 1 Static Routing Configuration 1-1 Table of Contents 1 Static Routing Configuration 1-1 Introduction 1-1 Static Route 1-1 Default Route 1-1 Application Environment of Static Routing 1-2 Configuring a Static Route 1-2 Configuration Prerequisites

More information

The Interconnection Structure of. The Internet. EECC694 - Shaaban

The Interconnection Structure of. The Internet. EECC694 - Shaaban The Internet Evolved from the ARPANET (the Advanced Research Projects Agency Network), a project funded by The U.S. Department of Defense (DOD) in 1969. ARPANET's purpose was to provide the U.S. Defense

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

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

Firewall Evasion Lab: Bypassing Firewalls using VPN

Firewall Evasion Lab: Bypassing Firewalls using VPN SEED Labs Firewall Evasion Lab 1 Firewall Evasion Lab: Bypassing Firewalls using Copyright 2018 Wenliang Du, Syracuse University. The development of this document was partially funded by the National Science

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

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 15 @ 11:00 PM for 100 points Due Monday, October 14 @ 11:00 PM for 10 point bonus Updated: 10/10/2013 Assignment: This project continues

More information

1 Connectionless Routing

1 Connectionless Routing UCSD DEPARTMENT OF COMPUTER SCIENCE CS123a Computer Networking, IP Addressing and Neighbor Routing In these we quickly give an overview of IP addressing and Neighbor Routing. Routing consists of: IP addressing

More information

Your Name: Your student ID number:

Your Name: Your student ID number: CSC 573 / ECE 573 Internet Protocols October 11, 2005 MID-TERM EXAM Your Name: Your student ID number: Instructions Allowed o A single 8 ½ x11 (front and back) study sheet, containing any info you wish

More information

COSC 6377 Mid-Term #2 Fall 2000

COSC 6377 Mid-Term #2 Fall 2000 Name: SSN: Signature: Open book, open notes. Your work must be your own. Assigned seating. Test time: 7:05pm to 8:05pm. You may not use a calculator or PalmPilot to calculate subnetting/host/netid information.

More information

INF3190 Mandatory Assignment:

INF3190 Mandatory Assignment: INF3190 Mandatory Assignment: Formally: This assignment must be completed individually. The submission must be approved prior to submission of the Home Exam 1. To pass the submission must meet the requirements

More information

false, import, new 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4

false, import, new 1 class Lecture2 { 2 3 Data types, Variables, and Operators 4 1 class Lecture2 { 2 3 "Data types, Variables, and Operators" 4 5 } 6 7 // Keywords: 8 byte, short, int, long, char, float, double, boolean, true, false, import, new Zheng-Liang Lu Java Programming 44

More information

The Specification of Project-1

The Specification of Project-1 The Specification of Project-1 EE122 Introduction to Communication Networks, Fall 2002 Weidong Cui, Karthik Lakshminarayanan, Khian Hao Lim Revision : 1.23 1 Overview In this project, you will build a

More information

Programming Assignment 1

Programming Assignment 1 CMSC 417 Computer Networks Fall 2017 Programming Assignment 1 Assigned: September 6 Due: September 14, 11:59:59 PM. 1 Description In this assignment, you will write a UDP client and server to run a simplified

More information

BSc. (Hons) Web Technologies. Examinations for 2017 / Semester 1

BSc. (Hons) Web Technologies. Examinations for 2017 / Semester 1 BSc. (Hons) Web Technologies Cohort: BWT/17A/FT Examinations for 2017 / Semester 1 MODULE: NETWORK ESSENTIALS MODULE CODE: CAN 1104C Duration: 2 ½ hours Instructions to Candidates: 1. Answer ALL 4 (four)

More information

3. When you process a largest recent earthquake query, you should print out:

3. When you process a largest recent earthquake query, you should print out: CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #1 Due Wednesday, September 18 @ 11:00 PM for 100 points Due Tuesday, September 17 @ 11:00 PM for 10 point bonus Updated: 9/11/2013 Assignment: This is the first

More information

Exercises: Basics of Network Layer Experiential Learning Workshop

Exercises: Basics of Network Layer Experiential Learning Workshop Exercises: Basics of Network Layer Experiential Learning Workshop 1 General Guidelines 1. Make a team of two or three unless stated otherwise. 2. For each exercise, use wireshark capture to verify contents

More information

Operation Manual IP Addressing and IP Performance H3C S5500-SI Series Ethernet Switches. Table of Contents

Operation Manual IP Addressing and IP Performance H3C S5500-SI Series Ethernet Switches. Table of Contents Table of Contents Table of Contents... 1-1 1.1 IP Addressing Overview... 1-1 1.1.1 IP Address Classes... 1-1 1.1.2 Special Case IP Addresses... 1-2 1.1.3 Subnetting and Masking... 1-2 1.2 Configuring IP

More information

Top-Down Network Design

Top-Down Network Design Top-Down Network Design Chapter Six Designing Models for Addressing and Naming Copyright 2010 Cisco Press & Priscilla Oppenheimer Guidelines for Addressing and Naming Use a structured model for addressing

More information

EECS122 Communications Networks Socket Programming. Jörn Altmann

EECS122 Communications Networks Socket Programming. Jörn Altmann EECS122 Communications Networks Socket Programming Jörn Altmann Questions that will be Addressed During the Lecture What mechanisms are available for a programmer who writes network applications? How to

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [RMI] Frequently asked questions from the previous class survey Shrideep Pallickara Computer Science Colorado State University L21.1 L21.2 Topics covered in this lecture RMI

More information