1. Homepage
2. Homework
3. COMP5416/4416 Assignment 1: DNS, Tit-for-Tat algorithm, Nash Equilibrium and Wireshark Experiment
This question has been solved

# COMP5416/4416 Assignment 1: DNS, Tit-for-Tat algorithm, Nash Equilibrium and Wireshark Experiment

COMP5416COMP4416Advanced Network TechnologiesDNSNash EquilibriumWiresharkTit-for-Tat algorithmUniversity of SydneyComputer Networks

# COMP5416/4416 Assignment 1

8 questions. Q1-Q5, 8 points each. Q6-Q8, 20 points each.

1. (8%) As shown in the figure below, a file of size F = 1000 + S bytes is transmitted on an end-to-end connection over three links, where S is the last three digits of your student number. For example, if your student number is 490123456, then S = 456 and F = 1456 bytes. Each link is 100 km. The signal prorogation speed is 2×108 m/s. Assume that a header of 28 bytes (UDP header and IP header) is added to each packet. The bandwidth of all links is R = 1 Mbps. The nodes use the store-and-forward scheme. No packet is lost and there is no bit error in the transmission.

(1) How long does it take to transmit the file if the whole file is transmitted as a single packet.
(2) We break the file into smaller packets in the store-and-forward scheme. Assume that each time you break the file to make a new packet, you have to add 28 bytes as the header of the new packet. What should be the optimal number of the packets? What is the overall time to transmit the file with the optimal number of packets?

2. (8%) Consider that you want to establish a new network in domain myuni.edu. You have two hosts www.welcome.myuni.edu and www.home.myuni.edu with IP addresses labelled in the figure. Also, you have the authoritative DNS server. (1) What resource records (RRs) do you need to add in the DNS hierarchy? Where do you need to add these RRs? (2) Now that host 1 requests the IP address of www.welcome.myuni.edu. How is the IP address addressed? How are the RRs in (1) used? Assume that the local DNS server dns.mypoly.com only knows the root DNS server. Use iterative approach.
(3) Now that another host 2 requests the IP address of www.home.myuni.edu. How is this addressed. This time the local DNS server dns.mypoly.com has known the IP addresses of TLD DNS server and authoritative DNS server. Use iterative approach.

4. In the figure below, TCP Reno transmits packets with the given sequence numbers on channel. Each packet is with the same size. At time T1, EstimatedRTT = 16 ms, and DevRTT = 8 ms. We use the following update functions. EstimatedRTT = 0.875 EstimatedRTT + 0.125 SampleRTT DevRTT = 0.75 DevRTT + 0.25 |SampleRTT-EstimatedRTT| TimeoutInterval = EstimatedRTT + 4 DevRTT (1) Compute the value of X in ms. (2) What ACK number does the receiver send at “ACK ?”? (3) Suppose ssthresh=16 (segment) and cwnd=5 (segment) at T1. What is cwnd at the sender at T3, T4, and T5?

5. (8%) Consider the following DHT networks. Transmission over each link takes 10 ms. The links are directional as noted in the figures. When a key is found, the key holder creates a direct connection to the query-originating node and transmits the key. The delay on that link can be ignored. For example, if 1 is the query node and 5 is the key holder, then the delay is 40 ms. What is the average time to search for a key in the following network if the query node and key are distributed uniformly among the nodes? Please note, the query node and the key holder may be the same and the delay is 0 in this situation.

6. (20%) In the Tutorial 1, question 1, we consider a system where two users are sharing the same channel with utility as follows.

We have successfully derived three Nash Equilibria for this problem. We now want to investigate the question one step further through a learning algorithm. The two users do not directly set their transmission probability (𝑝#,𝑝'), but to gradually “learn” the transmission probabilities iteratively. We use (𝑝#(𝑡),𝑝'(𝑡)) to denote their learnt values after the 𝑡th iteration. Suppose at very beginning, (𝑝#(𝑡),𝑝'(𝑡))=(0.3,0.7), where 𝑡=0. Then, the two users will update their transmission probability as follows. For user 1, its utility is 𝑈#(𝑡)=𝑝#(𝑡)(10−15𝑝'(𝑡)) Then, it will check that 𝑝'(𝑡)=0.7 so that 𝑈#(𝑡)=𝑝#(𝑡)910−15𝑝'(𝑡):=−0.5𝑝#(𝑡). In order to maximize 𝑈#(𝑡), 𝑝#(𝑡) should be as small as possible, and the optimal solution is 𝑝#∗(𝑡)=0. However, instead of directly setting 𝑝#(𝑡+1) to 0, 𝑝#(𝑡+1) can be updated as follows 𝑝#(𝑡+1):=(1−𝛼)𝑝#(𝑡)+𝛼𝑝#∗(𝑡) where := is the assignment operation. 𝛼 is a small value, called learning rate. Similarly, user 2 will update accordingly 𝑝'(𝑡+1):=(1−𝛼)𝑝'(𝑡)+𝛼𝑝'∗(𝑡) The progress is repeated for 𝑡 iterations and we want to check how (𝑝#(𝑡),𝑝'(𝑡)) will change.

(1) Let 𝛼=0.001, (𝑝#(0),𝑝'(0))=(0.3,0.7). Plot (𝑝#(𝑡),𝑝'(𝑡)) vs. 𝑡 where 𝑡 is from 1 to 10000. Does the learning algorithm approach to a Nash Equilibrium after a large number of iterations? (2) Now you can choose arbitrary valid (𝑝#(0),𝑝'(0)) values. Does the learning algorithm approach to a Nash Equilibrium after a number of iterations? Which Nash Equilibrium does it approach to? Discuss how the initial values (𝑝#(0),𝑝'(0)) will influence the final results. [User 2 is a jammer] Now we consider another scenario that user 1 is a normal user but user 2 is a jammer. That means, user 2’s target is to fail user 1’s transmission. If both are transmitting, user 2 will gain a positive utility. However, if user 1 is not transmitting but user 2 is transmitting, user 2 will lose its energy. The Utility table is as follows: (3) Use a similar approach in the tutorial 1; calculate the transmission probabilities of (𝑝#,𝑝') of the two users in the new case when a Nash Equilibrium is reached.
(4) Repeat the progress of (1) and (2) for the new case.
(5) Discuss how Nash Equilibrium in the new case (user 2 is a jammer) is different from Nash Equilibrium in the original case (both users are normal users). (bonus point)

Please note that you will need to connect to VPN if you are not on campus. You will need to use Cisco AnyConnect. You need to choose the correct interface in Wireshark indicating the VPN you are using. Otherwise, you cannot see the correct packets captured.

1. (20%) Consider the following scenario where two schools of one university are installing web caches for users.

Inside each school, the one-way propagation delay from each host to the school’s gateway is 2ms. The link bandwidth is assumed to be infinity (sufficient large). The link bandwidth from each school’s gateway to the university’s gateway is 10Mbps, and one-way propagation delay is 4ms. The access link bandwidth from the university’s gateway to the Internet is 20Mbps, and assume that the one-way propagation delay from the gateway to any server in the public Internet is 6ms.

On average, the requests from each school to view the webpage (of the public Internet) arrive at the rate of 1000 requests per second and the webpage is 1000 bytes (which fits exactly one packet). Ignore the header size. The requests themselves are very small and we assume that they do not take any bandwidth.

To analyse the delay, we model the system as there are three queues in the system: the downlink from the public Internet to the university’s gateway (Queue 1); the downlink from the university’s gateway to school A’s gateway (Queue 2); the downlink from the university’s gateway to school B’s gateway (Queue 3). The queues are modelled as M/M/1 queues. In this question, we only consider the propagation delay (uplink and downlink) and the waiting time at the three queues (downlink only). For example, in Queue 2, the arrival rate is 1000 packets per second, and the service rate is 1250 packets per second. The waiting time at the queue can be calculated =0.004 s =4 ms. For simplicity, we also ignore the TCP setup delay. The propagation delays (uplink and downlink) are only counted once.

(1) Without cache, what is the average overall delay for each user to derive its requested webpage? Only the propagation delays (once) and the waiting delays at the queues are considered. All other delays are ignored. (2) After step (1), conditional GET can be used. 10% of the original requests can be addressed by 304. We assume that these response messages do not take any bandwidth. Only propagation delay is counted for these response messages. (We assume that these messages are with small size and they do not experience waiting delays at the queues.) (3) After step (2), caches can be installed at the school’s gateway, so that another 10% of the original requests can be served by the schools’ proxies (proxies A and B). What is the average overall delay for each user to derive its requested webpage? (In this question, 10% goes to the original server with 304, 10% goes to the proxy with 200, and 80% goes to the original server with 200). (3) After step (2), cache can be installed at the university’s gateway, so that another 20% of the original requests can be served by the university’s proxy (proxy U). (There are no schools’ proxies.) What is the average overall delay for each user to derive its requested webpage? (In this question, 10% goes to the original server with 304, 20% goes to the proxy with 200, and 70% goes to the original server with 200). (4) After step (2), caches can be installed at all gateways (proxies A, B, and U). a% of the original requests can be served by the schools’ proxies, and b% of the original requests can be served by the university’s proxy. However, due to the limited storage owned by the university’s ICT department, we have 2a%+b% ≤ 20%. Calculate the average overall delay for each user to derive its requested webpage as a function of a and b and find the optimal a and b. (In this question, 10% goes to the original server with 304, a% goes to the school’s proxy with 200, b% goes to the university’s proxy with 200, and 90%−a%−b% goes to the original server with 200).

## Get in Touch with Our Experts QQ WeChat Whatsapp
COMP5416代写,COMP4416代写,Advanced Network Technologies代写,DNS代写,Nash Equilibrium代写,Wireshark代写,Tit-for-Tat algorithm代写,University of Sydney代写,Computer Networks代写,COMP5416代编,COMP4416代编,Advanced Network Technologies代编,DNS代编,Nash Equilibrium代编,Wireshark代编,Tit-for-Tat algorithm代编,University of Sydney代编,Computer Networks代编,COMP5416代考,COMP4416代考,Advanced Network Technologies代考,DNS代考,Nash Equilibrium代考,Wireshark代考,Tit-for-Tat algorithm代考,University of Sydney代考,Computer Networks代考,COMP5416help,COMP4416help,Advanced Network Technologieshelp,DNShelp,Nash Equilibriumhelp,Wiresharkhelp,Tit-for-Tat algorithmhelp,University of Sydneyhelp,Computer Networkshelp,COMP5416作业代写,COMP4416作业代写,Advanced Network Technologies作业代写,DNS作业代写,Nash Equilibrium作业代写,Wireshark作业代写,Tit-for-Tat algorithm作业代写,University of Sydney作业代写,Computer Networks作业代写,COMP5416编程代写,COMP4416编程代写,Advanced Network Technologies编程代写,DNS编程代写,Nash Equilibrium编程代写,Wireshark编程代写,Tit-for-Tat algorithm编程代写,University of Sydney编程代写,Computer Networks编程代写,COMP5416programming help,COMP4416programming help,Advanced Network Technologiesprogramming help,DNSprogramming help,Nash Equilibriumprogramming help,Wiresharkprogramming help,Tit-for-Tat algorithmprogramming help,University of Sydneyprogramming help,Computer Networksprogramming help,COMP5416assignment help,COMP4416assignment help,Advanced Network Technologiesassignment help,DNSassignment help,Nash Equilibriumassignment help,Wiresharkassignment help,Tit-for-Tat algorithmassignment help,University of Sydneyassignment help,Computer Networksassignment help,COMP5416solution,COMP4416solution,Advanced Network Technologiessolution,DNSsolution,Nash Equilibriumsolution,Wiresharksolution,Tit-for-Tat algorithmsolution,University of Sydneysolution,Computer Networkssolution,