Computer networking (and distributed systems): Example questions (2014)

Computer networking (and distributed systems): Example questions (2014)

Some example exams

The cover page of my exams typically looks the same. You can find two example exams (for two computer networks-related courses) here:

Note: Additional example questions or exams will likely not be added. The exam(s) will ask you to illustrate understanding and knowledge of the subject.

Example questions

The questions below will hopefully give you an idea for the type of questions that may be asked. Note that these questions are not representative of the topics that will be covered on the exam and/or what extent the topics will be covered on the exam. There may also be questions that have a somewhat different flavor. The key, is that you will be asked to demonstrate that you understand the content.

In general, anything that we have talked about in class or that otherwise is in the material in class (e.g., by the textbook) may come at the exam. However, as discussions in class, the amount of time spent on a chapter or emphasis on a topic in class will likely provide a reasonable estimation for the probability that a random question will be associated with material from particular parts of the class. Of course, due to a finite and discrete number of questions, the exact distribution of points distributed across the topics covered in class will be random.

Question: Encapsulation (4) [Web]
Consider a HTTP packet sent from a client to a server. Assume that the client know all the MAC and IP addresses that it needs to send this packet, please show how the link-layer frame must look (including source and destination fields in the various headers).

Question: Protocol stack (4) [Web]
(a) Explain the main reasons for using a protocol stack. (b) With the Internet protocol stack as a basis, how does a typical protocol operate? Please draw a figure explaining your answer and feel free to use an example protocol (such as UDP, for example) to explain your answer.

Question: Best effort (2) [Web]
Why is the Internet considered a best-effort network?

Question: TCP (6) [Web]
Consider two machines A and B which are located 75ms apart. Assume that A is delivering a large file to B. Draw a figure that captures the send and receive events of the first 16 packets. You should consider three scenarios. (a) Assume no packet losses. (b) Assume that packets 8, 9, and 10 are lost. (c) Assume that packets 5, 6, and 7 are lost. You can assume that the TCP version is implementing fast retransmit and the timeout period is 250ms.

Question: TCP fairness (3) [Web]
Please explain what it means for an UDP flow to be TCP friendly. Why is this reasonable etiquette?

Question: Dijkstra's algorithm (4) [Web]
Consider the network in the graph below. Calculate the shortest part between A and D. (Please insert your own random graph topology here.)

Question: Chord (5) [Web]
Assume a fully populated chord circle (in which there is one node per value), with a total of 128 values. Further assume that each node keeps track of its successor, predecessor, and full finger table. Please provide the routing tables of nodes 0, 1, and 5. Be sure to indicate which entries correspond to the successor, predecessor, and full finger table.

Question: CDN (3) [Web]
Both Content Distribution Networks (CDNs) and Internet Service Providers (ISPs) use caching to improve end user performance. Please explain how service models of CDNs (such as Akamai) differ from that of ISPs?

Question: ALOHA (5) [Web]
For this question you are asked to (i) define pure ALOHA (how it operates), and (ii) calculate the channel efficiency of pure ALOHA. Please make any necessary assumptions clearly.

Question: Centralized directory service (3) [Web]
Napster was one of the first systems to use peer-to-peer technology for file sharing. It used a centralized directory approach. Please explain how this approach works in the peer-to-peer context, and what some of its advantages and disadvantages may be.