Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Homework 3

Question 1

1. What are the goals of Web caching? List at least three different goals.

2. Which of these goals cannot be achieved directly through multicast technology?

3. Sketch the message flow between a Client, a Web cache, and an Origin Server in case of a Web cache miss. Show HTTP messages and messages for TCP connection establishment.

4.  Using the illustration from 3, explain how “access latency” is defined?

Question 2

Cache invalidation and cache update are two techniques to ensure cache consistency.

1.  Briefly describe the cache invalidation mechanism.

2.  Briefly describe the cache update mechanism.

Question 3

A streaming application is requesting videoclips with a playback rate of 400kbps from a regular streaming server.

1.  How big (in bytes) must the client side buffer of the streaming application be in order to absorb network jitter up to 2 seconds?

2.  Ignoring any connection delay, what is the minimum start-up latency a user of the streaming application has to expect and why?

3. The streaming server now implements “fast prefix transfer” in order to reduce the start-up latency. What is the optimal prefix length? Why is a larger prefix undesirable? Why is a shorter prefix undesirable?

4.  Using the optimal prefix length and assuming no other network traffic, what is the

minimum bandwidth required between client and server in order to reduce the buffer delay to 1 seconds?

Question 4

Using Mininet and the POX library, implement a network topology as shown in the following figure:

Use the POX controller to update the flow table of the switch. Only ARP, ICMP packets and TCP packets with port 80 are allowed. All other packets will be dropped.

You can evaluate your firewall using these steps:

1.  For ICMP packets, test the reachability of ICMP packets using Mininet's pingall command.

2.  For TCP packets, evaluate your firewall by running a simple HTTP server on the host. First, run the command in Mininet to open terminals for Host 1 and Host 2.

xterm h1 h2

Then run the command in Host 2's terminal to start a simple HTTP server on port 80.

python3 -m http .server 80

Finally, use the curl command to test the TCP packet.

curl 10 .0 .0 .1

If everything works fine, you will see the response from the server.

Then change the port of the HTTP server to another port, such as 8080. Modify and run the curl command again to send the request to the new port. You will see failure information appear.

Submit a screenshot of the pingall and the results of two curl executions, along with

your source code. The materials you submit should demonstrate that your firewall works as expected.

Question 5

By using Mininet and the POX library, implement a network topology as shown in the following figure:


Use the POX controller to update the flow tables of Switches. Ensure that all hosts can ping each other without any packets being dropped due to TTL. Submit the screenshot of pingall command and source code.

Hints:

1.  Review the previous slides on Mininet and the last homework assignment.

2. You can use Wireshark to monitor network traffic.

Put all your answers and screenshots into one pdf or word file. Compress the file and source code into a single zip file. If you encounter difficulties insetting up the environment, please reach out to the CA as soon as possible.