COMS3200/7201 Computer Networks 1 (Version 1.0)

Similar documents
TCP/IP Networking. Training Details. About Training. About Training. What You'll Learn. Training Time : 9 Hours. Capacity : 12

CCNA MCQS with Answers Set-1

Fundamental Questions to Answer About Computer Networking, Jan 2009 Prof. Ying-Dar Lin,

CSCI Networking Name:

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

ICS 351: Networking Protocols

King Fahd University of Petroleum and Minerals College of Computer Sciences and Engineering Department of Computer Engineering

Paper solution Subject: Computer Networks (TE Computer pattern) Marks : 30 Date: 5/2/2015

Sirindhorn International Institute of Technology Thammasat University

Your Name: Your student ID number:

Assignment - 1 Chap. 1 Wired LAN s

Hands-On TCP/IP Networking

Different Layers Lecture 20

Networks Fall This exam consists of 10 problems on the following 13 pages.

Faculty of Science and IT Course title. Pre-requisite/corequisite

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

CCNA Exam File with Answers. Note: Underlines options are correct answers.

Internetworking/Internetteknik, Examination 2G1305 Date: August 18 th 2004 at 9:00 13:00 SOLUTIONS

5105: BHARATHIDASAN ENGINEERING COLLEGE NATTARMPALLI UNIT I FUNDAMENTALS AND LINK LAYER PART A

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

CSCI 466 Midterm Networks Fall 2013

B.Sc. (Hons.) Computer Science with Network Security B.Eng. (Hons) Telecommunications B.Sc. (Hons) Business Information Systems

Computer Networks. 19 December This exam consists of 6 questions with subquestions. Every subquestion counts for 10 points.

VERSION Lab 3: Link Layer

Lab - Using Wireshark to Examine TCP and UDP Captures

UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

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

Chapter 09 Network Protocols

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

Lab - Using Wireshark to Examine a UDP DNS Capture

Protocol Layers & Wireshark TDTS11:COMPUTER NETWORKS AND INTERNET PROTOCOLS

Unit 28 Website Production ASSIGNMENT 1

UNI CS 3470 Networking Project 5: Using Wireshark to Analyze Packet Traces 12

Software Engineering 4C03 Answer Key

Lab - Using Wireshark to Examine a UDP DNS Capture

Chapter 12 Network Protocols

The Internet Protocol (IP)

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Interconnecting Networks with TCP/IP

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

Network Access Layer Internet Layer Transport Layer Application Layer. Presentation. Transport. Physical

TCP /IP Fundamentals Mr. Cantu

exam. Number: Passing Score: 800 Time Limit: 120 min CISCO Interconnecting Cisco Networking Devices Part 1 (ICND)

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

Table of Contents. Computer Networks and the Internet

CISCO SYSTEM ADMINISTRATION (41)

cs144 Midterm Review Fall 2010

15-441: Computer Networks Homework 3

CS3516 B10 Computer Networks Final Exam December 14, 2010

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

Study Guide. Module Two

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Student ID: CS457: Computer Networking Date: 3/20/2007 Name:

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. **Slides are attributed to J. F. Kurose

NT1210 Introduction to Networking. Unit 10

CS 457 Lecture 11 More IP Networking. Fall 2011

Special expressions, phrases, abbreviations and terms of Computer Networks

CNBK Communications and Networks Lab Book: Purpose of Hardware and Protocols Associated with Networking Computer Systems

9th Slide Set Computer Networks

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS

TCP/IP Networking Basics

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

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

OSI Model with Protocols. Layer Name PDU Address Protocols Device

PLEASE READ CAREFULLY BEFORE YOU START

TCP/IP Protocol Suite and IP Addressing

CS164 Final Exam Winter 2013

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

Final Exam. Course Grade

EXAM TCP/IP NETWORKING Duration: 3 hours

Computer Networks (Unit wise Questions)

Network Model. Why a Layered Model? All People Seem To Need Data Processing

IP Protocols. ALTTC/Oct

Lab Assignment 3 for ECE374

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

CS 356: Computer Network Architectures. Lecture 14: Switching hardware, IP auxiliary functions, and midterm review. [PD] chapter 3.4.1, 3.2.

User Datagram Protocol

4. The transport layer

01/17/08 TDC /17/08 TDC363-03

School of Engineering Department of Computer and Communication Engineering Semester: Fall Course: CENG415 Communication Networks

Chapter 4: network layer. Network service model. Two key network-layer functions. Network layer. Input port functions. Router architecture overview

Problem Set 7 Due: Start of Class, November 2

Homework 4 assignment for ECE374 Posted: 04/06/15 Due: 04/13/15

Lab 1: Packet Sniffing and Wireshark

Networking Fundamentals

TSIN02 - Internetworking

Lecture 16: Network Layer Overview, Internet Protocol

Network Security. Introduction to networks. Radboud University, The Netherlands. Autumn 2015

Final Exam Computer Networks Fall 2015 Prof. Cheng-Fu Chou

To make a difference between logical address (IP address), which is used at the network layer, and physical address (MAC address),which is used at

Data Communications and Networks Spring Syllabus and Reading Assignments

Exploring TCP and UDP based on Kurose and Ross (Computer Networking: A Top-Down Approach) May 15, 2018

Cisco Cisco Certified Network Associate (CCNA)

Review of Important Networking Concepts

Module 7 Internet And Internet Protocol Suite

Internet protocol stack

Network Protocols - Revision

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Transcription:

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 marks are 100 marks. You only need to do two of these parts. For most students, Part A & Part B are the simplest and most useful to complete. Some students have explicitly requested an additional programming exercise, which is Part C. I expect only a small proportion of students will wish to attempt part C. If all three parts are submitted, the best two parts will count (with no extra credit for completing the third part). You should hand in these parts separately 100 marks total (worth 15% of course marks). For Part A This is in the form of a blackboard MCQ quiz, which is automatically marked. You may attempt the quiz a maximum of two times, and complete all the answers for one attempt in a single sitting, where possible. You should determine the answers (the questions are given below) before doing the submission. The topic will be some theory questions around the course material up to Wireless Networking. For Part B This is in the form of a blackboard quiz, which is automatically marked. You may attempt the quiz a maximum of two times, and complete all the answers for one attempt in a single sitting, where possible. You should determine the answers (the questions are given below) before doing the submission. The topic will be the analysis of a Wireshark trace. For Part C This is a programming assignment, which extends the programming assignment from Assignment 2, to allow webget to also download files from an FTP server 1

Part A. Answer the following questions on networking theory. 1. Which of the following are layers in the Internet Protocol Stack? (Select all correct answers) Application Layer Presentation Layer Session Layer Transport Layer Network Layer IP Layer Link Layer MAC Layer Data-Link Layer Physical Layer 2. HTTP with persistent connections is different from non-persistent connections because: It is always faster than non-persistent connections. It allows files from a single host to be pipelined without re-establishing the connection. It allows segments from multiple files from a server to be interleaved. It can use multiple client-side ports to improve throughput. It reduces the RTT (Round Trip Time). 3. In HTTP, a Conditional GET request is used to check the validity of an item in the cache by sending which of the following header fields in a request to the server? Last-Modified: 304 Not Modified: If-modified-since: Date: Time-to-live: 4. Which of the following application layer protocols are typically used to download email messages from a mail server provided at enterprise level and a mail agent running on a user desktop, including web-based email clients? (Select all correct answers)" HTTP SMTP POP3 IMAP Telnet 5. Which of the following application layer protocols are typically used to upload messages from a mail agent running on a user desktop, including web-based email clients, and a mail server provided at enterprise level? (Select all correct answers) HTTP SMTP POP3 IMAP Telnet 2

6. ARP (Address Resolution Protocol) is used to map from an IP address into a hostname. to map from an IP address into a MAC address. to map from a MAC address into a hostname to map from a MAC address into an IP address. to map from a hostname into an IP address. to map from a hostname into a MAC address. 7. DNS (Domain Name System) is used to map from an IP address into a hostname. to map from an IP address into a MAC address. to map from a MAC address into a hostname to map from a MAC address into an IP address. to map from a hostname into an IP address. to map from a hostname into a MAC address. 8. TCP Flow Control ensures in-order packet delivery. identifies routers which are congested. ensures that the receiver buffer does not overflow. typically halves the congestion window size on packet loss indicated by a triple duplicate- ACK event sets the minimum transfer unit to prevent fragmentation. 9. TCP Congestion Control ensures in-order packet delivery. identifies routers which are congested. ensures that the receiver buffer does not overflow. typically halves the congestion window size on packet loss indicated by a triple duplicate- ACK event sets the minimum transfer unit to prevent fragmentation. 10. A server receives packets on port 80 from multiple clients, all on different hosts. How are these packets usually demultiplexed by UDP and TCP, assuming that TCP connections have already been established? In UDP data goes to one process listening on one socket, and in TCP data goes to one process listening on one socket. In UDP data goes to one process listening on one socket, and in TCP data from different clients go to different processes listening on separate sockets. In UDP data from different clients go to different processes listening on separate sockets, and in TCP data from different clients go to different processes listening on separate sockets In UDP data from different clients go to different processes listening on separate sockets, and In TCP data goes to one process listening on one socket. Different clients cannot send data to the same port on the server. 3

11. Which of the following possible network services are provided by the Internet s datagram-based network layer? Choose all correct answers or "None of the above" if none are correct. Guaranteed delivery. Guaranteed delivery with bounded delay. In-order packet delivery. Guaranteed minimum bandwidth. Guaranteed maximum jitter. None of the above. 12. Consider a TCP segment carried inside an IP datagram which is sent through a NAT gateway. Which of the following checksums would need to be recomputed (assume TTL isn't changed): The IP and TCP checksum are the same, so only one needs to be recomputed by the NAT gateway. The IP checksum needs to be recomputed by the NAT gateway, but the TCP checksum is unchanged. The TCP checksum needs to be recomputed by the NAT gateway, but the IP checksum is unchanged. The IP checksum and the TCP checksum are both unchanged. Both the IP checksum and the TCP checksum need to be recomputed by the NAT gateway. 13. The key difference between RIP and OSPF routing protocols is that RIP is a distance-vector protocol and OSPF is a link-state protocol. OSPF is a distance-vector protocol and RIP is a link-state protocol. RIP is an IETF standard and OSPF is an ISO/IEC standard. RIP is an intra-as routing protocol and OSPF is an inter-as routing protocol. OSPF is an intra-as routing protocol and RIP is an inter-as routing protocol 14. The key difference between RIP and BGP routing protocols is that RIP is a distance-vector protocol and BGP is a link-state protocol. BGP is a distance-vector protocol and RIP is a link-state protocol. RIP is an IETF standard and BGP is an ISO/IEC standard. RIP is an intra-as routing protocol and BGP is an inter-as routing protocol. BGP is an intra-as routing protocol and RIP is an inter-as routing protocol. 15. Ethernet and 802.11 Link Layer protocols both use Carrier Sense Multiple Access, but a significant difference is that: Both use Collision Detection (CSMA/CD) but Ethernet uses a much longer backoff time. Ethernet uses Collision Detection (CSMA/CD) but 802.11 uses Collision Avoidance (CSMA/CA). Ethernet uses Collision Avoidance (CSMA/CA) but 802.11 uses Collision Detection (CSMA/CD). Ethernet uses Collision Detection (CSMA/CD) but 802.11 does not generate collisions Both use Collision Avoidance (CSMA/CA) but Ethernet uses a much shorter backoff time. 4

16 Match the protocols with the statement about it which is most appropriate. QUIC RARP ICMP DASH DCCP A. Type=9 means a router discovery message B. Provides a low-overhead, message-oriented, UDP-like service with congestion control C. An experimental transport protocol used in Google Chrome D. Provides adaptive bit-rate streaming E. An obsolete protocol replaced by DHCP 5

PartB. Wireshark Trace (50 marks) The following 25 questions relate to the Wireshark Trace AS3.pcapng ( 2marks each) The trace was recorded on my Windows home computer (referred to below as PC-host) which is connected to a cable modem via Ethernet. Segment numbers below are the Wireshark numbers for the captured segments. Near the start of the trace, windows commands ipconfig/release and then ipconfig/renew are used to initiate renewal of a DHCP lease, and to initiate some ARP messages. You will need to answer the following 25 questions on Blackboard, but they are also given here so you can work through them at your own pace, and look up the reference materials that you need. IMPORTANT: When you enter answers in Blackboard, you will need to be precise when entering numbers since the answers will be auto-marked. IP addresses should be added in dotted decimal with no leading spaces, and no leading zeros, eg. 10.33.0.1 NOT 10.33.0.01 MAC addresses should be entered as hexadecimal bytes with a colon between each digit, and with the digits (a,b,c,d,e) in lower case. Such addresses should be exactly 17 characters long. eg. d0:03:4b:07:89:55 Other hexadecimal values (eg. question 5) should just be listed as hexadecimal digits (lower case, without any leading 0x.). For one byte should have two characters, include leading zeros. 0c Answers which are not in the correct format will be automatically marked incorrect by BB. You will be able to email me after results are released and I can check the answers if there is a minor formatting error (eg. if you put a space in the wrong place, O instead of 0, etc. ) and give extra marks, but it is obviously easiest if these are correct to start with. DHCP Questions. There are 5 DHCP messages in segments 3 (Release), 69 (Discover), 70 (Offer), 71 (Request), 73 (ACK). Q1. In the DHCP request message (segment 71), what is the source IP address in the IP datagram Q2. In the DHCP request message (segment 71), what is the destination IP address in the IP datagram 6

Q3. In the DHCP request message (segment 71), what is the source MAC address in the Ethernet Q4. In the DHCP request message (segment 71), what is the destination MAC address in the Ethernet Q5. In the DHCP request message (segment 71), the message indicates the IP address of the DHCP server that the PC-host is accepting an offer from. What is the value, in hexadecimal, of the onebyte option code that indicates the DHCP Server Identifier option. Q6. In the DHCP request message (segment 71), the message indicates the IP address of the DHCP server that the PC-host is accepting an offer from. What is the IP address of this DHCP server? Q7. In the DHCP request message (segment 71), the DHCP request indicates the Host Name (in ASCII) that will be used for PC Host. Give, as 10 characters, the value of this host name (e.g. home-comp1) Q8. In the DHCP ACK message (segment 73), what is the source IP address in the IP datagram Q9. In the DHCP ACK message (segment 73), what is the destination IP address in the IP datagram Q10. In the DHCP ACK message (segment 73), what is the source MAC address in the Ethernet Q11. In the DHCP ACK message (segment 73), what is the destination MAC address in the Ethernet Q12. In the DHCP ACK message (segment 73), what is the IP address of the Router that PC-host should use to forward messages beyond its subnet. Q13. In the DHCP ACK message (segment 73), what is the IP address of the first DNS server (out of the 3 given) that PC-host should use to resolve domain names. Q14. In the DHCP ACK message (segment 73), what is the four-byte value, in hexadecimal, of the IP Address Lease Time? Q15. In the DHCP ACK message (segment 73), which one of the following protocols is indicated by the two-byte Type field in the Ethernet Header: Ethernet, ARP, IP, IPv4, IPv6, UDP, TCP, DHCP, Bootstrap Protocol, or Boot Reply Q16. In the DHCP ACK message (segment 73), which of the following protocols is indicated by the one-byte Protocol field in the IP Datagram Header. Ethernet, ARP, IP, IPv4, IPv6, UDP, TCP, DHCP, Bootstrap Protocol, or Boot Reply 7

ARP Questions The following questions relate to ARP requests and answers that are in packets 78 and 93. Q17. In the ARP message in segment 78, which of the following protocols is indicated by the twobyte Type field in the Ethernet Header: Ethernet, DHCP, IP, IPv4, IPv6, UDP, TCP, ARP, ARP request, or ARP reply Q18. In the ARP message in segment 78, what is the destination MAC address in the Ethernet Q19. In the ARP message in segment 78, the sender requests the MAC address corresponding to which IP address? Q20. In the ARP message in segment 93, the sender answers the request in segment 78. What is this answer (i.e. what is the MAC address corresponding to the requested IP address in the request in segment 78.)? DNS Questions My home PC was originally set up to run in ITEE at UQ, so it sometimes thinks it is still at UQ due to its setup scripts, so it requests a lot of UQ hostnames with DNS. These next questions refer to DNS messages a query in segment 111, and its response (somewhere between 112 and 140). Q21: For the IP datagram in the Ethernet segment 111, what is the destination IP address? Q22: For the DNS request in segment 111, what is the host name whose IP address is being requested? Q23: What is the hexadecimal value of the two-byte Transaction ID in the DNS request in segment 111? Q24: By finding the response packet with the same Transaction ID (somewhere between segment 112 and 140), what is the IP address of the hostname that was requested in segment 111? Q25: In this response packet with the same Transaction ID as the request in segment 111, the source MAC address is 08:bd:43:9a:59:98. This is the MAC address corresponding to which IP address? 8

Part C Programming assignment. (50 marks) Enhance webget from Assignment 2 to also retrieve files using ftp. It should also still work for http. You can program webget in a language of your choice using (almost) any libraries of your choice, including ftp libraries such as Python s ftplib. It is also fine to implement the FTP protocol yourself with socket libraries. You can also use libraries to assist with parsing command lines. (You can also use other libraries for the http part if you wish to rewrite that part) You CANNOT write a program that simply calls the existing wget program, and you CANNOt use the python wget package or similar packages in other languages. The webget utility should work as a command line program with command line parameters as follows: webget PROTOCOL://HOST/FILENAME for example (not a real URL): webget ftp://ftp.someuni.edu.au/toplevel/welcome.msg will use the FTP protocol (as per RFC959) to retrieve the file welcome.msg in the subdirectory toplevel on the server ftp.someuni.edu.au on the usual FTP welcome port and store it in the file welcome.msg in the current directory. If your program uses python or another interpreted language and needs a slightly different format that is fine. You can either call the program from the command line, or from the console within the interpreter. Your program should login as anonymous on the FTP server, give coms3200@uq.edu.au as the password. Your program must use PASSIVE mode (PASV command) to open the data connection most firewalls won t allow an external host to open a TCP data connection. (Microsoft console FTP client can t do this, but most web browsers use this passive mode for FTP files.) Your program should echo any unexpected responses from the server. 9

Assessment: Hand-in: Your code via Blackboard in one or more files, as **.c, **.py, etc. Demonstration: 50 marks During your regularly scheduled lab session in the week 30 May 2 Juney, provide a short (5 minute) demonstration of the capabilities of your software. You should first log into the internet management system to be able to fetch URLs outside UQ. Your program should run in one of these modes: Running on your laptop connected via a wireless connection (WiFi or 3G) in the lab, OR Running directly on one of the lab computers, OR Running on moss, accessed from one of the lap computers or your laptop. 1. Code compiles (or is interpreted without errors) and runs and is able to retieve a HTTP file as per assignment 2. Code will be briefly examined to confirm that your code doesn t simply exec wget. http://www.rfc-base.org/txt/rfc-768.txt 5 marks 2. File is able to retrieve the following file: 10 marks ftp://ftp.uq.edu.au/welcome.msg (First delete any existing copy of the file from your directory, run your program, and show the contents of the downloaded file. 3. Program is able to retrieve the following file: (10 marks) ftp://ftp.marine.csiro.au/pub/spencer_gulf/met/readme 4. Program gives appropriate error message when trying to retrieve the following file: 10 marks ftp://ftp.uq.edu.au/welcome.txt 5. Program gives appropriate error message which identifies incorrect directory rather than incorrect filename when trying to retrieve: (5 marks) ftp://ftp.uq.edu.au/toplevel/welcome.msg 6. Program gives appropriate error message which identifies incorrect host when trying to retrieve: (5 marks) ftp://ftp.itee.uq.edu.au/welcome.msg 7. Program gives appropriate error message which identifies unimplemented protocol when trying to retrieve: (5 marks) ftps://ftp.uq.edu.au/welcome.msg 10