next up previous
Next: About this document ...

CPS 214 Computer Networks & Distributed Systems Fall 1996
Final Exam (December 18) Prof. Thomas Narten





NAME:$\underline{\hspace*{2in}}$ SCORE:$\underline{\hspace*{2in}}$

This is a closed book (and notes) examination; however, you may consult your $3\times 5$ index card. Answer all questions on the exam itself. Justify your answers! You must explain your reasoning to receive full credit on yes/no type questions.

All questions have equal weight. However, some questions are harder than others; budget your time accordingly. You may omit one question, but you must clearly mark which question should not be graded, or I will assume that you wish to omit the final question on the exam.

1.
What is an OSPF area and what are they used for? What problem does the creation of areas solve?


2.
Unicast IP addresses are mapped into Ethernet addresses using ARP. Are IP multicast addresses mapped into Ethernet multicast addresses using ARP as well? Explain.


3.
The IP header includes a checksum that each router must update as it forwards the packet (and decrements the time-to-live field). With the error characteristics of modern link-layer technologies, the need for an IP header checksum is less clear. Assuming it were possible to disable IP header checksum processing on all nodes (routers and hosts), what impact would this have on the current Internet? That is, what are there disadvantages and benefits?


4.
One common misconception among programmers is that the TCP push mechanism can be used to place boundaries between logical records (e.g., to signal where one record stops and another begins). Why is this a misconception? Give an example that shows why push is needed.



5.
In IPv4, routers fragment IP datagrams that are too large to transmit in one piece across an attached network. In contrast, IPv6 does not fragment at the network layer. Give at least two reasons why transparent fragmentation as performed in IPv4 is now considered a bad idea.


6.
In an ideal world, users should be able to plug their laptop computers into whatever network they currently have access to and be able to send and receive IP datagrams. What are the main obstacles to automating this process? That is, what (if any) information must a host obtain before it can send and receive Internet datagrams?


7.
Both TCP and UDP place port numbers at the start of their respective headers. Is this an arbitrary choice in the sense that the checksum, sequence numbers, etc. could reside at the front and the port numbers near the end? Hint: Would proper delivery of ICMP error messages be affected by moving the location of the port numbers within the TCP or UDP header?


8.
Does remote procedure call (RPC) provide new services not available through the standard client-server message passing paradigm or does it simply provide a different way of accessing existing services? Explain.


9.
Is the protocol (aka type) field of an Ethernet frame similar in purpose to the port number found in a TCP or UDP header? Explain.


10.
How is it that multiple clients can use TCP to contact the same server (e.g., the WWW server) using the same well-known port number? Why doesn't the server get confused as to which client it is talking to?


11.
What is the difference between TCP's congestion window and its flow-control window? Which is used in practice?


12.
Suppose you are defining a new version of TCP that accommodates: (1) a typical RTT of 100ms, (2) a network bandwidth of 100Mbps, and (3) a maximum segment lifetime of 60 seconds. Which fields in the TCP header would you change and why? Be specific.


13.
In traces of actual TCP traffic shown in class, the congestion window in non-TCP Vegas implementations have a ``saw-toothed'' behavior when observed over time. What accounts for this behavior? Be specific!


14.
In class, it was stated that getting good throughput requires minimizing reliance on retransmission timers. Give three reasons why the use of timers frequently results in poor throughput in practice.


15.
Random Early Drop (RED) routers discard packets at random once they become moderately congested, but before they become completely congested. That is, they may discard packets in cases where a non-RED router would not. How does this policy interact with TCP? Doesn't the resultant packet loss cause TCP throughput to drop significantly?


16.
Consider transport protocols for RPC. Give two reasons why Peterson's BLAST and CHAN protocols might perform better than SunRPC.


17.
The IP header contains a ``Don't Fragment'' bit. What can this bit be used for?


18.
What is meant by ``portable addressing'' and how does it differ from ``provider-based'' addressing? Which type of addressing do most sites want? Explain.


19.
BGP is a path-vector algorithm (in contrast to distance-vector algorithms such as RIP). Explain what a path-vector is and how (and why) BGP uses it.


20.
Consider multicasting where one sender sends data to many recipients. One potential problem reliable multicasting protocols face is ``ACK implosion,'' where if each recipient acknowledges received messages, the sender becomes overwhelmed by the resultant ACKs. Explain how IGMP avoids this problem (i.e., when a router multicasts a query to determine if there are any local members listening to multicast groups).


21.
What is the purpose of the ``Additional Information'' field of DNS responses? Give an example that shows how it is used.


22.
Diffie-Hellman key exchange is vulnerable to a ``man-in-the-middle'' (aka ``bucket brigade'') attack. What problem does Diffie-Hellman solve and why is it vulnerable to a ``man-in-the-middle'' attack?


23.
All block encryption systems (e.g., DES) are potentially vulnerable to statistical attacks. What is cipher block chaining (CBC) and explain how it relates to reducing vulnerabilities to statistical attacks.




 
next up previous
Next: About this document ...
Thomas Narten
10/17/1997