Questions? Post on piazza, or Radhika (radhika at eecs.berkeley) or Sameer (sa at berkeley)!

Similar documents
Questions? Post on piazza, or Radhika (radhika at eecs.berkeley) or Sameer (sa at berkeley)!

Improving Spatial Reuse of IEEE Based Ad Hoc Networks

Message Transport With The User Datagram Protocol

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

Preamble. Singly linked lists. Collaboration policy and academic integrity. Getting help

6.033 Computer System Engineering

Domain Name System.

CS 3640: Introduction to Networks and Their Applications

Disjoint Multipath Routing in Dual Homing Networks using Colored Trees

Robust PIM-SM Multicasting using Anycast RP in Wireless Ad Hoc Networks

EDOVE: Energy and Depth Variance-Based Opportunistic Void Avoidance Scheme for Underwater Acoustic Sensor Networks

Internet Engineering. DNS Message Format. Contents. Robert Elz.

Topics. Computer Networks and Internets -- Module 5 2 Spring, Copyright All rights reserved.

This time. Digging into. Networking. Protocols. Naming DNS & DHCP

MODULE VII. Emerging Technologies

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

Almost Disjunct Codes in Large Scale Multihop Wireless Network Media Access Control

Local DNS Attack Lab. 1 Lab Overview. 2 Lab Environment. 2.1 Install and configure the DNS server. SEED Labs Local DNS Attack Lab 1

Final Review Fall 2017 Profs Peter Steenkiste & Justine Sherry

Internet Content Distribution

Architecture Design of Mobile Access Coordinated Wireless Sensor Networks

ECE 435 Network Engineering Lecture 7

DNS: Useful tool or just a hammer? Paul DNS-OARC 06 Oct 2013, Phoenix

MODULE V. Internetworking: Concepts, Addressing, Architecture, Protocols, Datagram Processing, Transport-Layer Protocols, And End-To-End Services

Impact of FTP Application file size and TCP Variants on MANET Protocols Performance

DNSSEC. CS 161: Computer Security Prof. David Wagner. April 11, 2016

CS 3640: Introduction to Networks and Their Applications

BIND-USERS and Other Debugging Experiences. Mark Andrews Internet Systems Consortium

Online Appendix to: Generalizing Database Forensics

Domain Name System (DNS) Session-1: Fundamentals. Joe Abley AfNOG Workshop, AIS 2017, Nairobi

Multicast Routing : Computer Networking. Example Applications. Overview

0 0& Basic Background. Now let s get into how things really work!

Testing IPv6 address records in the DNS root

Computer Network 2015 Mid-Term Exam.

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

Computer Networks. Domain Name System. Jianping Pan Spring /25/17 CSC361 1

IP ADDRESSES, NAMING, AND DNS

Review Materials: Set B EE122 Fall 2012

Domain Name System (DNS) Session-1: Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale

6.823 Computer System Architecture. Problem Set #3 Spring 2002

CPSC 441 COMPUTER COMMUNICATIONS MIDTERM EXAM SOLUTION

Homework #4. Due: December 2, 4PM. CWND (#pkts)

Domain Name System (DNS) DNS Fundamentals. Computers use IP addresses. Why do we need names? hosts.txt does not scale. The old solution: HOSTS.

Computer Security CS 426

DNS & Iodine. Christian Grothoff.

Overview : Computer Networking. IEEE MAC Protocol: CSMA/CA Internet mobility TCP over noisy links

DNS Review Quiz. Match the term to the description: A. Transfer of authority for/to a subdomain. Domain name DNS zone Delegation C B A

CS269I: Incentives in Computer Science Lecture #8: Incentives in BGP Routing

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

Lecture 1 September 4, 2013

Offloading Cellular Traffic through Opportunistic Communications: Analysis and Optimization

Coupling the User Interfaces of a Multiuser Program

Ordinary DNS: A? k.root-servers.net. com. NS a.gtld-servers.net a.gtld-servers.net A Client's Resolver

15-441: Computer Networks Homework 3

CS 5565 Spring CS 5565 Midterm

Lab work #8. Congestion control

Generalized Edge Coloring for Channel Assignment in Wireless Networks

CS118 Discussion 1A, Week 3. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

SURVIVABLE IP OVER WDM: GUARANTEEEING MINIMUM NETWORK BANDWIDTH

Protocol Configuration

Advanced Networking. Domain Name System

Advanced Networking. Domain Name System. Purpose of DNS servers. Purpose of DNS servers. Purpose of DNS servers

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

CS350 - Exam 4 (100 Points)

Objectives. Upon completion you will be able to:

CSC 574 Computer and Network Security. DNS Security

INGI1341: Project 2 Analysis of a website

CSCE 463/612 Networks and Distributed Processing Spring 2018

MODULE II. Network Programming And Applications

Figure 1: 2D arm. Figure 2: 2D arm with labelled angles

Foundations of Network and Computer Security

EECS 122: Introduction to Computer Networks DNS and WWW. Internet Names & Addresses

DNS. Introduction To. everything you never wanted to know about IP directory services

ENUM Dialing on Cisco Expressway

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

A Root DNS Server. Akira Kato. Brief Overview of M-Root. WIDE Project

Worksheet #2 EE122 Fall 2011

Remote DNS Cache Poisoning Attack Lab

DNS Mark Kosters Carlos Martínez {ARIN, LACNIC} CTO

MORA: a Movement-Based Routing Algorithm for Vehicle Ad Hoc Networks

More on DNS and DNSSEC

CS 161 Computer Security

Network Attacks. CS Computer Security Profs. Vern Paxson & David Wagner

Student ID: CS457: Computer Networking Date: 5/8/2007 Name:

CSE 3214: Computer Network Protocols and Applications. Midterm Examination

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

Network Address Translation (NAT)

Protocol Classification

Internet Engineering Task Force (IETF) Request for Comments: 7706 Category: Informational ISSN: November 2015

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

UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING

Cisco Expressway ENUM Dialing

Cascading Multi-Hop Reservation and Transmission in Underwater Acoustic Sensor Networks

Network Security Part 3 Domain Name System

CS 43: Computer Networks. 10: Naming and DNS September 24, 2018

RFC 2181 Ranking data and referrals/glue importance --- new resolver algorithm proposal ---

Non-Uniform Sensor Deployment in Mobile Wireless Sensor Networks

CSE 473 Introduction to Computer Networks. Midterm Exam Review

Transient analysis of wave propagation in 3D soil by using the scaled boundary finite element method

CS 106 Winter 2016 Craig S. Kaplan. Module 01 Processing Recap. Topics

Transcription:

EE122 Fall 2013 HW3 Instructions Recor your answers in a file calle hw3.pf. Make sure to write your name an SID at the top of your assignment. For each problem, clearly inicate your final answer, bol an unerline. You o not nee to explain your answer unless explicitly tol to o so. Submit your answers via your instructional account using submit hw3. This assignment is ue on Dec 2 n, 5pm. Questions? Post on piazza, or email Rahika (rahika at eecs.berkeley) or Sameer (sa at berkeley)! Q1. DNS Lookup Your EECS instructional machine (@fuji.cs.berkeley.eu) has a utility calle ig that allows you to query Domain Name Service (DNS) servers aroun the Internet. You can simply run ig as follows: $> ig @ns.server.name[optional] recor-type omain-name Here ns.server.name is the hostname of the DNS server you wish to query. The recor-type is the type of DNS recor you wish to retrieve (such as ANY, MX, A, CNAME etc.) an omain-name is the name of the host or omain you seek information on. For more information on how to use ig, please consult the man page an/or RFC1035. As we iscusse in class, there can be 2 types of DNS queries recursive or iterative. For a recursive DNS query, the name server attempts to completely resolve the name by following the naming hierarchy all the way to the authoritative name server. On the other han, for an iterative query, the name server simply gives a referral to another name server in the hierarchy that shoul be contacte next in orer to resolve the name. By efault, ig sets the RD (recursion esire) bit in the DNS query packet to inicate that it woul like to have the query resolve recursively. Not all servers support recursive queries from arbitrary resolvers. a) Basic Usage: Resolve the IP aress of www.google.com using your efault name server. Attach the output of the ig query an explain each fiel of the ANSWER SECTION in the output (Actual IP aresses may be ifferent)

ig query output ; <<>> DiG 9.8.3-P1 <<>> www.google.com ;; global options: +cm ;; Got answer: ;; ->>HEADER<<- opcoe: QUERY, status: NOERROR, i: 4254 ;; flags: qr r ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.google.com. IN A ;; ANSWER SECTION: www.google.com. 54 IN A 74.125.236.80 www.google.com. 54 IN A 74.125.236.83 www.google.com. 54 IN A 74.125.236.82 www.google.com. 54 IN A 74.125.236.84 www.google.com. 54 IN A 74.125.236.81 ;; Query time: 13 msec ;; SERVER: 192.168.0.1#53(192.168.0.1) ;; WHEN: Fri Dec 6 09:01:47 2013 ;; MSG SIZE rcv: 112 Google s IP aress: 74.125.236.80 Fiels in the answer section: - First (www.google.com): is the omain name being returne (NAME). - Secon (54): is the TTL. - Thir (IN): is the CLASS an stans for Internet. - Fourth (A): is the TYPE an stans for a mapping a omain name to an IPv4 aress. - Fifth (74.125.236.80): is the the IP Aress. b) Iterative DNS Queries: Now, instea of using your efault name server, we woul like you to resolve www.google.com using one of the root DNS servers (e.g., a.rootservers.net). Note that this server oesn t accept a recursive query from you, but it gives you the reference to the next name server that is to be querie in www.google.com s hierarchy. Use ig to execute the sequence of iterative queries by following the chain of referrals to obtain www.google.com s aress 1. Attach the ig output an write own the sequence of name servers you querie in the process an specify the omain each server was responsible for. $> ig @a.root-servers.net www.google.com (omain:.) 1 If a query returns multiple servers, just choose one amongst them at ranom. If a particular server times out,

$> ig @m.gtl-servers.net www.google.com (omain:.com) $> ig @ns2.google.com www.google.com (omain: google.com) c) Recursive DNS Queries: ns1.iitkgp.ac.in an nsl.fujitsu.fr are two name servers in Inia an France that answer recursive DNS queries. Use these DNS servers to resolve www.google.com. Attach the ig output. Now compare the en-to-en latencies between your machine an the sets of IPs for google.com that were returne by these two DNS servers an by your efault DNS server in part (a). Why o we see a ifference in latency? $> ig @ns1.iitkgp.ac.in www.google.com (IP1) $> ig @nsl.fujitsu.fr www.google.com (IP2) $> ping IP1 $> ping IP2 RTT of Inia s IP (IP1) > RTT of France s IP (IP2) > RTT of IP in part (a) DNS supports IP anycast. The name servers will always return the IP aress of the nearest server, which in this case might be locate in ifferent parts of the worl. ) DNS Spoofing: As the evil CTO of www.evilsearch.com, Garry realizes that the easiest way to efeat Google woul be to reirect all the users to his website by simply messing with the DNS servers. Having taken EE122, he recalls that servers cache A an NS recors from DNS replies an referrals an he can configure his own DNS server to return incorrect results for arbitrary omains. If the resolver caches Garry s malicious results, it will return ba results to future DNS queries. Help him complete his master plan to hijack Google s omain name by writing own exactly what woul Garry s name server returns upon a DNS query. What must a robust DNS server implementation o to counter this attack? When Garry s name server receives a query for www.evilsearch.com, it returns the following malicious results: www.evilsearch.com long-ttl in NS ns1.google.com google.com long-ttl in NS ns1.google.com ns1.google.com long-ttl in A w.x.y.z (Garry s DNS server) If a DNS server blinly caches everything, it will reirect all future queries for www.google.com to Garry s nameserver (w.x.y.z). A robust DNS server implementation shoul be less trustful of results returne by other DNS servers an only cache information that s irectly relevant to the querie omain. In the above example, since google.com is not a subomain of evilsearch.com, a correct DNS server implementation shoul ignore all information relate to google.com in the results.

Another option is to use something like DNSSec, which allows the query response to be authenticate. Q2. Content Delivery with HTTP We woul like to ownloa an article on the web. This involves two steps: Step 1: Downloa a master inex page of size B. This page contains links to four images. Step 2: Downloa the four images. Each image is also of size B Assumptions: Ignore all transmission elays Assume that HTTP responses fit in a single TCP packet. i.e., the HTTP response incluing the B bytes an the size of the HTTP heaer is smaller than the MSS of a single TCP packet We on t nee to wait for the HTTP responses to be acknowlege nor for the TCP connections to terminate Calculate the time taken to ownloa the article uner each of the following scenarios a) All files are store at a single origin server S. Our RTT to S is R. We use sequential requests with non-persistent TCP connections. Give your answer in terms of multiples of R. (2R + 4(2R)) = 10R b) All files are store at a single origin server S. Our RTT to S is R. We use sequential requests with persistent TCP connections. Give your answer in terms of multiples of R. (2R + 4R) = 6R c) All files are store at a single origin server S. Our RTT to S is R. We use concurrent requests with non-persistent TCP connections. (Note that the master inex page is ownloae first, followe by concurrent ownloa of the images). Give your answer in terms of multiples of R. (2R + 2R) = 4R ) The content provier now signs up with a CDN for the elivery of its images. The master inex page is still serve from the origin server S with RTT equal to R. Our RTT to the closest CDN server is (R/2). We use sequential requests with nonpersistent TCP connections. Give your answer in terms of multiples of R. (2R + 4(2R/2)) = 6R e) Repeat part () assuming sequential persistent connections (2R + R/2 + 4R/2) = 4.5R

f) Repeat part () assuming concurrent non-persistent connections (2R + 2R/2) = 3R g) The CDN tries to o some loa balancing an ifferent images are serve by ifferent CDN servers, at istances 3R/4, R/2, R/3 an R/4. The master inex page is still serve from the origin server S. We use sequential requests with non-persistent TCP connections. Give your answer in terms of multiples of R. 2R + 2(3R/4) + 2(R/2) + 2(R/3) + 2(R/4) = 17R/3 = 5.66R h) Repeat part (g) assuming sequential persistent connections 2R + 2(3R/4) + 2(R/2) + 2(R/3) + 2(R/4) = 17R/3 = 5.66R i) Repeat part (g) assuming concurrent non-persistent connections 2R + 2(3R/4) = 3.5R

Q3. Wireless D A E B C F Consier the above wireless network in which each noe has a raio range of istance. In the figure, two noes are in each-other s range, if there is an ege between them. Consier two collision resolution schemes: CS: This is a pure carrier sense scheme in which a noe oes not sen when it hears someone else transmitting, but otherwise can sen whenever it wants. MACA: No carrier sense. Noes wishing to communicate use an RTS-CTS-Data exchange. Noes overhearing an RTS wait to allow the CTS to be sent. If no CTS is hear, the noe can transmit. If a CTS is hear (even if no earlier RTS is hear), the noe is quiet for the entire uration of the ata transmission. Note: Treat each of the five parts of this question as inepenent scenarios a) Assume noe E is transmitting ata to noe B when a noe, say X ecies to transmit ata to another noe, say Y. You have the following three cases: Case 1: X = A, Y = B Case 2: X = F, Y = C Case 3: X = C, Y = A For each case, answer the following questions: i. If all noes use CS, can X transmit to Y? If NO: explain why. If YES: Is the transmission successful (i.e., will Y correctly receive the ata from X)? Is the original transmission (from E to B) impacte?

ii. If all noes use MACA, can X transmit to Y? If NO: explain why. If YES: is the transmission successful (i.e., will noe Y receive the ata)? Is the original transmission (from E to B) impacte? Case1: (i) Yes, Not successful, E to B impacte (ii) No, as A will hear B s CTS an won t sen an RTS. Case2: (i) Yes, Successful, E to B not impacte (ii) No, as C will hear B s CTS an won t sen back a CTS. Case3: (i) Yes, Successful, E to B impacte (ii) No, as C will hear B s CTS an won t sen an RTS. b) Now assume noe B is transmitting ata to noe E when a noe, say X ecies to transmit ata to another noe, say Y. You have the same three cases: Case 1: X = A, Y = B Case 2: X = F, Y = C Case 3: X = C, Y = A For each case, answer the following questions: i. If all noes use CS, can X transmit to Y? If NO: explain why. If YES: Is the transmission successful (i.e., will Y correctly receive the ata from X)? Is the original transmission (from B to E) impacte? ii. If all noes use MACA, can X transmit to Y? If NO: explain why. If YES: is the transmission successful (i.e., will noe B receive the ata)? Is the original transmission (from B to E) impacte? Case1: (i) No, A will hear B (ii) No, A sens an RTS but B oesn t respon Case2: (i) Yes, Not successful, B to E not impacte (ii) No, C can t hear F s RTS Case3: (i) No, as C will hear B (ii) No, A can t hear C s RTS c) Assume A is transmitting to B at the beginning of time. List the pair of noes (if any) that can successfully communicate: i. if all noes use CS ii. if all noes use MACA For this, consier each irection separately. i.e., list the pair (X, Y) if X can successfully

sen ata to Y, irrespective of whether Y can successfully sen to X. We say that the ata is sent successfully if the sener is able to transmit it an the receiver is able to successfully receive it, without any interference. (i) No other pair can have successful communication with CS (ii) No other pair can have successful communication with MACA ) Noe D woul like to transmit to A, noe E to B an noe F to C. Can noes D, E an F transmit simultaneously using CS? What about with MACA (clearly list your assumptions with respect to the orering an timing of RTS/CTS)? They can o so using CS. They can o so using MACA only if D, E an F sen RTS at the same time an A, B an C then sen CTS at the same time. If there is any time ifference, it won t be possible. e) Now assume biirectional communication between noe pairs (D, A), (E, B) an (F, C), i.e., for a noe pair (x,y), x has ata to sen y an y has ata to sen to x. In an ieal scenario, which pairs of noes can simultaneously communicate? Will CS allow this ieal scenario? What about MACA (clearly list your assumptions with respect to the orering an timing of RTS/CTS)? In the ieal scenario, biirectional/back-an-forth exchanges can happen in two "phases" that repeat: In the first phase, the outsie noes can sen i.e. (D->A), (E->B), (F->C) can communicate simultaneously. In the secon phase, the inner noes can sen i.e (A->D), (B->E), (C->F) can communicate simultaneously. Using CS: (D->A), (E->B), (F->C) can communicate simultaneously. But the biirectional communication cannot happen. Using MACA: (D->A), (E->B), (F->C) can communicate simultaneously only if the three RTSes are sent at the same time an the three CTSes are sent at the same time. (A->D), (B->E), (C->F) can communicate simultaneously only if the three RTSes are sent at the same time an the three CTSes are sent at the same time.

Q4. Spanning Tree Protocol an Learning Switches 0 2 1 3 4 5 Consier the above topology, with each noe representing an Ethernet switch. For simplicity assume that the MAC aress of a switch is represente by a single number as shown. a) Spanning Tree Protocol i. List the root an the eges of the spanning tree obtaine after running the Spanning Tree Protocol for Switche Ethernet on the above network. (You on t have to show how the algorithm procees, simply write the final result.). Ties are broken base on smaller i if multiple shortest paths to the root exist. Root: 0 Eges: 0-1, 0-2, 1-4, 2-3, 3-5 ii. Suppose noe 0 fails. Ientify the new root an the eges of the new Spanning Tree that is constructe after the failure. Root: 1 Eges: 1-2, 1-4, 2-3, 4-5 b) Learning Switches Consier the original topology (before noe 0 fails) with en-hosts attache to them as shown below. Again, for simplicity, assume the MAC aresses of the en-hosts are represente by a single alphabet. The circular noes in the topology are Learning Switches.

a 0 2 c b g 1 3 e 4 5 f Consier the following packet transmissions occurring between a source-estination pair, in the given orer, one after another. For each packet transmission, list the switches an the en-hosts that receive the packet. Assume that you start with no entries in the forwaring table of any switch. Note: If a switch floos the packet, all the ajacent switches an en-host will receive it an may further floo or unicast it. If a switch unicasts a packet, then only the corresponing en host or switch woul receive the packet, which may further floo or unicast the packet. 1. b to c 2. c to b 3. to c 4. a to b 5. a to g

1. (b), 1, g, 4, e, 0, a, 2, c, 3,, 5, f 2. (c), 2, 0, 1, b 3. (), 3, 5, f, 2, c 4. (a), 0, 1, b 5. (a), 0, 1, b, g, 4, e, 2, c, 3,, 5, f c) Learning Switches with Limite Memory Consier the case that the switches have a small memory cache with enough space to store only a single entry in the forwaring table an therefore, they store only the most recent entry. Assume that you start with no entries in the forwaring table of any switch. For each of the packet transmissions, in the given orer, write own whether switch 0 floos the packet or unicasts it. 1. b to c floo 2. a to b unicast 3. c to b floo 4. b to c unicast 5. a to b unicast 6. c to b floo 7. b to c unicast 8. a to b unicast 9. c to b floo 10. b to c unicast 11. a to b unicast 12. c to b floo i. List for each pair amongst (a to b), (b to c) an (c to b), the fraction of packets that are flooe by the switch an the fraction of packets that are unicast out of the 4 packets transmitte for each pair. (a to b): 4/4 unicast; 0/4 floo (b to c): ¾ unicast; ¼ floo (c to b): 0/4 unicast; 4/4 floo ii. How can you re-orer these packet transmissions, such that for all three sourceestination pairs, half of the packets are flooe an half are unicast? (Hint: you nee to make at most 2 swaps in the sequence of packet transmissions). 1. b to c 2. a to b 3. c to b 4. b to c 5. c to b

6. a to b 7. b to c 8. a to b 9. c to b 10. b to c 11. c to b 12. a to b or 1. b to c 2. c to b 3. a to b 4. b to c 5. a to b 6. c to b 7. b to c 8. a to b 9. c to b 10. b to c 11. c to b 12. a to b or 1. b to c 2. a to b 3. c to b 4. b to c 5. a to b 6. c to b 7. b to c 8. c to b 9. a to b 10. b to c 11. c to b 12. a to b