Exam - Final. CSCI 1680 Computer Networks Fonseca. Closed Book. Maximum points: 100 NAME: 1. TCP Congestion Control [15 pts]

Similar documents
CSE 473 Introduction to Computer Networks. Midterm Exam Review

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

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

15-441: Computer Networks Homework 3

Washington State University CptS 455 Sample Final Exam (corrected 12/11/2011 to say open notes) A B C

Transport Layer Congestion Control

CSCI Topics: Internet Programming Fall 2008

CS 349/449 Internet Protocols Final Exam Winter /15/2003. Name: Course:

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

Flow and Congestion Control Marcos Vieira

Homework 3 1 DNS. A root. A com. A google.com

Lecture 4: Congestion Control

No, the bogus packet will fail the integrity check (which uses a shared MAC key).!

MCS-377 Intra-term Exam 1 Serial #:

ECSE-6600: Internet Protocols Spring 2007, Exam 1 SOLUTIONS

CSCI Topics: Internet Programming Fall 2008

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

CS 344/444 Computer Network Fundamentals Final Exam Solutions Spring 2007

CSCI 466 Midterm Networks Fall 2013

Answers to Sample Questions on Transport Layer

Mid Term Exam Results

Distributed Systems. 21. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2018

CS November 2018

CMPE150 Midterm Solutions

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

CS 138: Communication I. CS 138 V 1 Copyright 2012 Thomas W. Doeppner. All rights reserved.

UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

There are 10 questions in total. Please write your SID on each page.

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

Problem Set 7 Due: Start of Class, November 2

Department of EECS - University of California at Berkeley EECS122 - Introduction to Communication Networks - Spring 2005 Final: 5/20/2005

Computer Networks - Midterm

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

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

Closed book. Closed notes. No electronic device.

COMPUTER NETWORK. Homework #3. Due Date: May 22, 2017 in class

Name Student ID Department/Year. Midterm Examination. Introduction to Computer Networks Class#: Fall 2003

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

Congestion Control. Lecture 12: TCP Friendliness, DCCP, NATs, and STUN. Chiu Jain Phase Plots. Fair A=B. Responding to Loss. Flow B rate (bps) t 1 t 3

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Lecture 12: TCP Friendliness, DCCP, NATs, and STUN

Lecture 10: TCP Friendliness, DCCP, NATs, and STUN

Expected Time: 90 min PART-A Max Marks: 42

Computer Networking Introduction

CSE 473 Introduction to Computer Networks. Final Exam. Your name here: 12/17/2012

Chapter III: Transport Layer

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

The War Between Mice and Elephants

CS November 2017

CSCI-1680 Web Performance, Content Distribution P2P John Jannotti

Internet Content Distribution

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Reliable Transport II: TCP and Congestion Control

TCP congestion control:

SaaS Providers. ThousandEyes for. Summary

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

COMP/ELEC 429/556 Introduction to Computer Networks

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Assignment 7: TCP and Congestion Control Due the week of October 29/30, 2015

Solution to Question 1: ``Quickies'' (25 points, 15 minutes)

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM

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

Question Points Score total 100

15-441: Computer Networks Spring 2017 Homework 3

Your Name: Your student ID number:

TDTS06 Computer Networks Final Exam: 14:00-18:00, Friday, November 1, 2013

Chapter 3 Transport Layer

TDTS06: Computer Networks

Review problems (for no credit): Transport and Network Layer

CSCI 1680 Computer Networks Fonseca. Exam - Midterm. Due: 11:50am, 15 Mar Closed Book. Maximum points: 100

CS 5565 Spring CS 5565 Midterm

ECE 435 Network Engineering Lecture 10

CS3600 SYSTEMS AND NETWORKS

Reliable Transport II: TCP and Congestion Control

CSC 4900 Computer Networks: TCP

COMP3331/9331 XXXX Computer Networks and Applications Final Examination (SAMPLE SOLUTIONS)

Wireless TCP Performance Issues

Token Rate Bucket Size

Advanced Computer Networks Exercise Session 7. Qin Yin Spring Semester 2013

ECE 333: Introduction to Communication Networks Fall 2001

Review for Internet Introduction

Bandwidth Allocation & TCP

Principles of congestion control

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

ThousandEyes for. Application Delivery White Paper

9th Slide Set Computer Networks

Carnegie Mellon Computer Science Department Spring 2005 Final

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION

CSE 473 Introduction to Computer Networks. Exam 2. Your name here: 11/7/2012

Question 1 (6 points) Compare circuit-switching and packet-switching networks based on the following criteria:

CSCI-1680 Web Performance, Content Distribution P2P Rodrigo Fonseca

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

CSE 4215/5431: Mobile Communications Winter Suprakash Datta

Transcription:

CSCI 1680 Computer Networks Fonseca Exam - Final Due: 11:00am, May 10th, 2012 Closed Book. Maximum points: 100 NAME: 1. TCP Congestion Control [15 pts] a. TCP Tahoe and Reno have two congestion-window increasing modes, slow start and additive increase. If a connection has a window size of w and a maximum segment size of MSS, what is the increase in the window size for each received acknowledgment in each of these modes? Explain your reasoning. [5 pts] i. Slow Start ii. Additive Increase b. In class we saw a simplified scenario of how two flows using AIMD reach fair and efficient transmission rates (illustrated with the Chiu-Jain plots). If we have two flows, A and B, and instead of multiplying their window size by 1/2 on loss detection, they multiply their window size by 3/4, will they still converge to the fair and efficient transmission rates? What if A uses 1/2 as a factor and B 3/4, will one of them get more bandwidth in the end? Which one?[5 pts]

c. TCP Reno reacts differently to triple duplicate acks and to ack timeouts. What does TCP do in each case? Why is the reaction different? Explain what the sender can infer about the network and/or the receiver side.[5 pts] 2. Alternative Congestion Control [15 pts] Bittorrent recently proposed an alternative transport protocol to TCP that sill offers reliable, in-order delivery, and uses a sliding window and acknowlegments for congestion and flow control. The main difference is the congestion control algorithm. The goals of the protocol, called µtp, are to minimize the impact of large BitTorrent traffic on other applications, while fully utilizing the available bandwidth when the link is underutilized. Here s a simplified explanation of how µtp congestion control works (assume nodes have perfectly synchronized clocks, many other details omitted): The sender adds a timestamp t s to every outgoing packet. The receiver records a timestamp t r for every received packet, and sends the difference δ = t r t s on the acknowledgment. The sender keeps a running minimum of the successive δs (this is the delay with minimum queueing delay), and assumes that any extra delay in other packets is due to queueing delay. If the queueing delay keeps below a small threshold (say, 100ms), µtp increases the window size. If the queueing delay starts increasing above the threshold, µtp will decrease its sending rate in proportion to the difference. a. One of the major impacts µtp tries to minimize is on the latency seen by other applications. Assuming you have a home DSL modem with a large outgoing queue and that the bottleneck link is the first hop between you and your ISP, why will a very large TCP flow increase the latency of, say, a VoIP call you are making? [5 pts] 2

b. In the absence of other traffic, explain why µtp will eventually fully utilize the bottleneck link, but not go above its capacity? [5 pts] c. Why will µtp effectively yield to another TCP flow? [5 pts] 3

3. DNS [15 + 6 pts] a. Google and OpenDNS offer alternative DNS servers that they claim are more reliable, better provisioned, and with better cache hit ratios than your ISP s DNS server. However, using these resolvers can result in sub-optimal interaction with CDNs like Akamai. As an example, using my regular resolver at Brown CS, I get the following answer to looking up www.bestbuy.com: www.bestbuy.com. 3552 IN CNAME www.bestbuy.com.edgesuite.net. www.bestbuy.com.edgesuite.net. 5610 IN CNAME a1105.b.akamai.net. a1105.b.akamai.net. 3 IN A 198.7.236.240 Pinging 198.7.236.240, I get an average latency of 0.3ms, and traceroute reveals that this server is located in Oshean s network, which is Brown s network provider. If I use Google s resolver instead, 8.8.8.8, I get the following answer: www.bestbuy.com. 2169 IN CNAME www.bestbuy.com.edgesuite.net. www.bestbuy.com.edgesuite.net. 19535 IN CNAME a1105.b.akamai.net. a1105.b.akamai.net. 11 IN A 208.44.23.16 Pinging 208.44.23.16, I get an average of 26ms, and a path that has to cross at least two more ASes. Why does Akamai give me a worse server when I use a different resolver? [5 pts] b. Let us examine the cost of looking up non-existing domains. Assume that www.mitsukoshi.co.jp is a domain name that exists, that there are no cached entries anywhere (other than the root servers cache), and that each part of the name is handled by a separate server. How many recursive lookups does our local resolver have to do to discover that the two following domains do not exist: [5 pts] ww.mitsukoshi.co.jp? 4

www.mitsukoshi.co.jap? c. Now assume you look up www.mitsukoshi.co.jp after looking up each one of the two domains above. How many recursive lookups does your local resolver do after looking up each one? (Further assume that the caches are cleared after each pair of lookups). [5 pts] d. (Bonus) Suppose that Rhode Island wants to become an independent country, and wants to start by registering its own top-level.ri domain. What are the necessary steps so that: [6 pts] i. This works for all Internet users, without requiring any changes? ii. This works for only for users who change their DNS settings? 5

4. Caching [15 pts] a. Why is caching so effective in the DNS system? [3 pts] b. Both IP and DNS have the concept of TTL, or time to live. What is the purpose of TTL in IP packet headers, and what is the purpose of TTL in DNS responses? [3 pts] c. In the snippets of response from Akamai, in the previous question, why were the TTLs for the first two entries set to very high numbers of seconds, and to only a few seconds for the third entry? [3 pts] 6

d. Cache poisoning can have very undesirable effects in the network. Give two examples of cache poisoning attacks, specifying how the attacker has to proceed, and what are possible implications of a successful attack. [6 pts] 7

5. Consistent Hashing [14 pts] We saw that consistent hashing is a very useful abstraction which has been used, for example, by Akamai to select caches for content objects, and is adapted to the distributed setting in the Chord algorithm. It is also used in most memcached client libraries, as well as in Amazon s Dynamo storage system. a. Explain how consistent hashing works. [8 pts] b. What is its main advantage? Assume you have 20 servers caching 8400 objects, and you want to add a server. Contrast what happens, in terms of expected network traffic to rearrange the objects, if you are using consistent hashing and a naïve modulo hashing scheme. [6 pts] 8

6. HTTP [11 pts] Suppose you click on a link on your web browser, and assume the DNS mapping for the host in question is already cached. The resulting web page references 10 objects. Assume that each object is small enough that all of them could be fetched together in a single RTT. a. How many RTTs do you have to wait until all objects are fetched, if you have: [6 pts] i. HTTP 1.0 with no parallel connections ii. HTTP 1.1 with no persistent connections and up to 5 parallel connections allowed iii. HTTP 1.1 with persistent connections and no pipelining iv. HTTP 1.1 with persistent connections and pipelining b. SPDY is a new protocol very similar to HTTP, but adding a couple of interesting features. One of them is the multiplexing of multiple request/response pair on the same TCP connection, with the ability to prioritize any substream. Why is this better than HTTP pipelining? [5 pts] 9

7. Security [15 pts] a. In SSL/TLS, generally the server has a certificate, and a private/public key pair, but the client does not. Explain how they can still achieve bidirectional confidentiality. [6 pts] b. What is the implication of the lack of a client-side certificate? [4 pts] c. When using HTTPS, sometimes you may come across a warning like the following: [5 pts] i. If you choose to go on, is your connection still going to be encrypted? ii. What security property are you giving up? iii. Give two reasons for which a browser would not accept a server s certificate. 10